Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove "optional - gcc" from doctests #13533

Closed
jdemeyer opened this issue Sep 25, 2012 · 21 comments
Closed

Remove "optional - gcc" from doctests #13533

jdemeyer opened this issue Sep 25, 2012 · 21 comments

Comments

@jdemeyer
Copy link
Contributor

Some doctests are marked

# optional - gcc

but it seems reasonable to require gcc for doctests. After all, compiling Cython code is an integral part of Sage. Indeed, many doctests already fail without gcc.

Unfortunately, this exposes #12446, so we need "# known bug".

Component: doctest coverage

Author: Jeroen Demeyer

Reviewer: Karl-Dieter Crisman, John Palmieri

Merged: sage-5.4.1.rc0

Issue created by migration from https://trac.sagemath.org/ticket/13533

@jdemeyer
Copy link
Contributor Author

Attachment: 13533_gcc_not_optional.patch.gz

@kcrisman
Copy link
Member

comment:2

This seems to have a different mission than #11162. Maybe it's not obvious we should force people to have gcc to run doctests?

@jdemeyer
Copy link
Contributor Author

comment:3

Replying to @kcrisman:

Maybe it's not obvious we should force people to have gcc to run doctests?

The problem is that there are quite a few doctests already in Sage which require a C/C++/Fortran compiler. So we certainly could mark all those "# optional - foo compiler". But then a lot of tests would be missed in normal doctesting. For example, #12446 would not have happened if the "# optional - gcc" wasn't there.

I think it's not too much to ask for a user to have binutils installed in order to run Sage doctests. Why only binutils? If #13515 is merged (which will happen, since it's a blocker), we can ship all the needed compilers with Sage, which means the host system only needs to provide binutils (assembler, linker, archiver...)

@jdemeyer
Copy link
Contributor Author

comment:4

Replying to @kcrisman:

Maybe it's not obvious we should force people to have gcc to run doctests?

A different —more pragmatic— answer is the following: if a user doesn't have a compiler toolchain, he is very unlikely to be a Sage developer. Why would a non-Sage-developer want to run all doctests?

@kcrisman
Copy link
Member

comment:5

(Also, I could have sworn that #6737 and #5094 would have gotten rid of most SageX references... of course there is still #5160 and sage-sagex, see #9191, which I'm not sure how to fix easily... and the German and French tutorials :( which also refer to the now-defunct examples directory...)

@kcrisman
Copy link
Member

comment:6

Maybe it's not obvious we should force people to have gcc to run doctests?

A different —more pragmatic— answer is the following: if a user doesn't have a compiler toolchain, he is very unlikely to be a Sage developer. Why would a non-Sage-developer want to run all doctests?

Because she is trying to help out? Just checking things work on an obscure platform? Wants to make sure their copy isn't corrupted somehow? I guess a better argument is your first one, that a number of tests already fail without gcc, so we should be consistent (which way, I'm agnostic on).

@jdemeyer
Copy link
Contributor Author

comment:7

So you agree that make all gcc tests non-optional is the better option then? For me, the most important argument is to increase testing coverage.

@kcrisman
Copy link
Member

comment:8

I guess I'm agnostic, like I said. I could easily go the other way.

@jdemeyer
Copy link
Contributor Author

comment:9

Replying to @kcrisman:

Just checking things work on an obscure platform?

The only way to have a working Sage without gcc is to download a binary. For this obscure platform, there won't be binaries, so you need gcc to build Sage in the first place.

@kcrisman
Copy link
Member

comment:10

See my experience at #9191 for why I now agree with you. But can you post a link to the sage-devel or other discussion there was about this? I thought there was a brief one, but I can't find it now (probably it's not titled about gcc on Google groups).

@kcrisman
Copy link
Member

comment:11

This looks good. I just have to test it on Linux (due to the floating point issue) but presumably that's where you developed it so I doubt there will be problems.

@jhpalmieri
Copy link
Member

comment:12

How does this ticket interact with #13540?

@kcrisman
Copy link
Member

comment:13

I'm having trouble doing any testing of 5.4.beta1 on sage.math - Cython is unavailable to me. I'm not sure why, it's just the usual sage.math binary. Anyway, if someone else can show this works there, I'm ok with it, but I'm reluctant to give final positive review otherwise. But it would suffice to have doctests run on Linux properly.


Naturally, if #13540 were to come about, that would be quite different and this would be partly unnecessary (though the known bug would still be). I knew there was something else - John, can you post a link to the thread where Robert discussed #13540 first? I just couldn't find it.

@jhpalmieri
Copy link
Member

comment:14

Replying to @kcrisman:

Naturally, if #13540 were to come about, that would be quite different and this would be partly unnecessary (though the known bug would still be). I knew there was something else - John, can you post a link to the thread where Robert discussed #13540 first? I just couldn't find it.

I think this is it.

@jdemeyer
Copy link
Contributor Author

comment:15

I certainly think that #13540 is a good idea. However, I would prefer to merge #13533 which is ready now. When #13540 is ready, we can put the "optional" statements back in all the required places.

@jhpalmieri
Copy link
Member

comment:16

Okay, sounds good.

@jdemeyer
Copy link
Contributor Author

jdemeyer commented Oct 3, 2012

comment:17

Replying to @jhpalmieri:

Okay, sounds good.

...as in positive_review?

@jhpalmieri
Copy link
Member

comment:18

I've now run tests on a few machines (including sage.math), so combined with what Karl-Dieter did, we can give this a positive review.

@jhpalmieri
Copy link
Member

Reviewer: Karl-Dieter Crisman, John Palmieri

@jdemeyer
Copy link
Contributor Author

Merged: sage-5.5.beta0

@jdemeyer
Copy link
Contributor Author

jdemeyer commented Nov 5, 2012

Changed merged from sage-5.5.beta0 to sage-5.4.1.rc0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants