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

Fix doctests #19

Open
16 of 20 tasks
saraedum opened this issue Apr 4, 2018 · 51 comments
Open
16 of 20 tasks

Fix doctests #19

saraedum opened this issue Apr 4, 2018 · 51 comments

Comments

@saraedum
Copy link
Member

saraedum commented Apr 4, 2018

It would be great to make sage -tp src pass. (And sage -tp --long src as well.)

A GitLab CI pipeline runs these doctests, the results of the latest run are:

227 failing individual doctests

No modules are failing entirely at the moment.

For reference, here are the corresponding numbers in Debian (for --long doctests.)

TODO:

@saraedum

This comment has been minimized.

@saraedum

This comment has been minimized.

@saraedum

This comment has been minimized.

@isuruf

This comment has been minimized.

@saraedum

This comment has been minimized.

@saraedum

This comment has been minimized.

@isuruf

This comment has been minimized.

@saraedum

This comment has been minimized.

@isuruf

This comment has been minimized.

@isuruf

This comment has been minimized.

@saraedum

This comment has been minimized.

@isuruf
Copy link
Member

isuruf commented Jun 1, 2018

Added a TODO

@saraedum
Copy link
Member Author

saraedum commented Jun 11, 2018

I have not tried to find out yet what's the issue…

UnsatisfiableError: The following specifications were found to be in conflict:
  - gcc
  - sage 8.2*

@isuruf
Copy link
Member

isuruf commented Jun 11, 2018

Probably mpfr.

@saraedum
Copy link
Member Author

True. gcc does not come from conda-forge. Any workaround?

@isuruf
Copy link
Member

isuruf commented Jun 11, 2018

Use the system package manager?

@saraedum
Copy link
Member Author

saraedum commented Jun 11, 2018

Haha, sorry, for asking such dumb questions ;)

@saraedum
Copy link
Member Author

One killed and one timeout less. And a few thousand fewer doctests failing.

@isuruf
Copy link
Member

isuruf commented Jun 12, 2018

Did you have jmol installed? Does jmol work in a headless image?

@isuruf
Copy link
Member

isuruf commented Jun 17, 2018

@saraedum
Copy link
Member Author

@isuruf: I just gave you access to my gitlab repo so we can work on the same fork.

@isuruf
Copy link
Member

isuruf commented Jun 21, 2018

I just pushed to your repo. Here's the latest build.
https://isuruf.gitlab.io/-/conda-sagelib-tests/-/jobs/76387946/artifacts/sagemath/doctest.txt

There are some issues with cddlib

@saraedum
Copy link
Member Author

The output of cddlib has changed in a recent version. I just released 0.94j which together with https://trac.sagemath.org/ticket/25344 should fix these.

@saraedum
Copy link
Member Author

saraedum commented Jun 21, 2018

Or let's just pin it to the right version rather ;) see conda-forge/sage-feedstock#19.

@saraedum
Copy link
Member Author

We can not pin to 0.94g because it's not in conda-forge. So should we patch Sage's parser or backport the uppgrade to 0.94j?

@saraedum
Copy link
Member Author

Debian's debian/patches/u1-version-cddlib-094h.patch should do the trick. I'll create a PR.

@isuruf
Copy link
Member

isuruf commented Jun 24, 2018

That worked. Down to 123 failures

@saraedum
Copy link
Member Author

saraedum commented Jul 4, 2018

Unfortunately, we know hit the 3h limit on gitlab.

@saraedum
Copy link
Member Author

saraedum commented Jul 4, 2018

Let's use some private runners then…

@saraedum
Copy link
Member Author

saraedum commented Jul 7, 2018

❯ conda list |grep r-base
r-base                    3.4.1                         4    conda-forge

@saraedum
Copy link
Member Author

saraedum commented Jul 8, 2018

It appears that pexpect is making the difference. Sage uses 4.1.0, conda has 4.6.0. Strangely everything appears to work if I shorten sage's R prompt from __SAGE_R_PROMPT> to __SAGE__> .

@saraedum
Copy link
Member Author

saraedum commented Jul 9, 2018

There is an upstream ticket about the 4.6.0 upgrade: https://trac.sagemath.org/ticket/25700

@kiwifb
Copy link

kiwifb commented Jul 9, 2018

@saraedum
Copy link
Member Author

saraedum commented Jul 9, 2018

Interesting. Thanks, I was not aware of that one.

@kiwifb
Copy link

kiwifb commented Jul 9, 2018

It helped me with readline 7.0 but I am wondering if it would help here as well. Haven't looked at pexpect 4.6.0 in gentoo yet. Mostly because it isn't in the main tree.

@saraedum
Copy link
Member Author

saraedum commented Jul 9, 2018

And it actually makes things work. See https://trac.sagemath.org/ticket/25806 for upstreaming this.

@saraedum saraedum added the upstream: needs review There is a an upstream issue on trac.sagemath.org that "Needs Review" by anybody who feels qualified label Aug 15, 2018
@saraedum
Copy link
Member Author

saraedum commented Aug 17, 2018

@isuruf why did you install numpy 1.13 in 0b2f6d3b05d7bfb767a2e385a2d916ab5f5bcac9? This seems to cause errors, see CI

ImportError: numpy.core.multiarray failed to import

Locally with 1.14 these imports work fine.

@saraedum
Copy link
Member Author

This is now conda-forge/sage-feedstock#23.

@saraedum saraedum removed the upstream: needs review There is a an upstream issue on trac.sagemath.org that "Needs Review" by anybody who feels qualified label Aug 17, 2018
@isuruf
Copy link
Member

isuruf commented Aug 17, 2018

I installed 1.13 because the printing of arrays changed and there were doctests failing. I guess the new sage versions fixed the doctests

@saraedum
Copy link
Member Author

I see. Do you mean these?

Expected:
    array([[[ 1.,  1.,  1.],
            [ 1.,  1.,  1.],
            [ 1.,  1.,  1.]],
    <BLANKLINE>
           [[ 1.,  1.,  1.],
            [ 0.,  0.,  0.],
            [ 1.,  1.,  1.]],
    <BLANKLINE>
           [[ 1.,  1.,  1.],
            [ 1.,  1.,  1.],
            [ 1.,  1.,  1.]]])
Got:
    array([[[1., 1., 1.],
            [1., 1., 1.],
            [1., 1., 1.]],
    <BLANKLINE>
           [[1., 1., 1.],
            [0., 0., 0.],
            [1., 1., 1.]],
    <BLANKLINE>
           [[1., 1., 1.],
            [1., 1., 1.],
            [1., 1., 1.]]])

If so, let me try to make the tests less strict upstream.

@saraedum
Copy link
Member Author

saraedum commented Aug 17, 2018

Seems like a NORMALIZE_WHITESPACE would fix these. No, actually not.

@isuruf
Copy link
Member

isuruf commented Aug 17, 2018

Yes, doctests like that failed

@saraedum
Copy link
Member Author

Nice, numpy has a legacy printing mode to print like 1.13 :)

@saraedum
Copy link
Member Author

@isuruf: Any idea where these floating point errors that crash Sage could come from?

@isuruf
Copy link
Member

isuruf commented Aug 25, 2018

@saraedum
Copy link
Member Author

saraedum commented Sep 3, 2018

@isuruf: We are now having trouble with maxima not being run with the same ecl that it was built with: RuntimeError: ECL says: Module error: Don't know how to REQUIRE MAXIMA. Apparently we need to pin exactly when building something with ecl.

saraedum added a commit to saraedum/maxima-feedstock that referenced this issue Sep 4, 2018
Sage 8.3 runs into trouble with ecl 16.1.3 and to require maxima from within Sage, we need to build and run maxima with the same version it seems.

Fixes conda-forge#9; see also conda-forge/sagelib-feedstock#19.
saraedum added a commit to saraedum/maxima-feedstock that referenced this issue Sep 4, 2018
Sage 8.3 runs into trouble with ecl 16.1.3 and to require maxima from within Sage, we need to build and run maxima with the same version it seems.

Fixes conda-forge#9; see also conda-forge/sagelib-feedstock#19.
saraedum added a commit to saraedum/maxima-feedstock that referenced this issue Sep 4, 2018
Sage 8.3 runs into trouble with ecl 16.1.3 and to require maxima from within Sage, we need to build and run maxima with the same version it seems.

Fixes conda-forge#9; see also conda-forge/sagelib-feedstock#19.
@timokau
Copy link

timokau commented Sep 4, 2018

That error occurs when ecl can't find maxima.fas. You could try explicitly setting the MAXIMA_FAS environment variable to the correct location. Maybe that'll work without rebuilding ecl.

@saraedum
Copy link
Member Author

saraedum commented Oct 4, 2018

With conda-forge/maxima-feedstock#10 we are now down to 8 modules timing out and 340 failing tests.

@isuruf
Copy link
Member

isuruf commented Oct 4, 2018

Most of these errors are due to latest versions of numpy and networkx

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

No branches or pull requests

4 participants