Add "needs" tags for eclib and mwrank#40546
Draft
orlitzky wants to merge 20 commits intosagemath:developfrom
Draft
Add "needs" tags for eclib and mwrank#40546orlitzky wants to merge 20 commits intosagemath:developfrom
orlitzky wants to merge 20 commits intosagemath:developfrom
Conversation
|
Documentation preview for this PR (built with commit df6dd0e; changes) is ready! 🎉 |
49a1661 to
c3dd50a
Compare
Contributor
Author
|
This is OK except for the docbuild failure, but that fails because eclib is missing, not because I've added the |
Contributor
Author
|
(The "DO NOT MERGE" commit is there still so the reviewers can see everything working in the CI.) |
The meson build system is now capable of building sagelib without sage.libs.eclib. Here we add a new feature to represent it. In particular this allows us to use "needs sage.libs.eclib" in tests.
The meson build system is now capable of building sagelib without linking to libec, which means that the mwrank program may not be installed. Here we add a new feature to represent it. In particular this allows us to use "needs mwrank" in tests.
The meson build system is now capable of building sagelib without linking to libec, which means that the mwrank program may not be installed. In that case, we utilize the new sage.features.mwrank to skip the tests in this file.
Sage can now be built without the sage.libs.eclib.* extension modules, but when it is, all of the tests under sage.libs.eclib fail. Here we add "needs sage.libs.eclib" to the header of every (source code) file under sage.libs.eclib, to indicate that those tests should be skipped if the corresponding module was not built.
Unsurprisingly, a lot of the tests in sage.schemes.elliptic_curves use eclib. After a day of running sage -t followed by emacs followed by sage -t followed by emacs... I think I've found them all. This commit marks them as "needs sage.libs.eclib" so that they will be skipped if eclib is unavailable or explicitly disabled.
One example in the tutorial needs "needs sage.libs.eclib"
One example in this file needs "needs sage.libs.eclib"
One example in this file needs "needs sage.libs.eclib"
One example in this file needs "needs sage.libs.eclib"
One example in this file needs "needs sage.libs.eclib"
Three examples in this file require "needs sage.libs.eclib" to pass in the absence of eclib.
Several examples in this file require "needs sage.libs.eclib" to pass in the absence of eclib.
…s.eclib" One example in this file requires "needs sage.libs.eclib" to pass when eclib is not installed (or is disabled).
One example in this file requires "needs sage.libs.eclib" to pass when eclib is not installed (or is disabled).
Several examples in the "Explicit methods in number theory" tutorial require "needs sage.libs.eclib" to pass when eclib is not installed (or was disabled).
Many examples in these modules require "needs sage.libs.eclib" to pass when eclib is not installed (or was disabled).
c3dd50a to
5d7d986
Compare
5 tasks
If the feature for sage.libs.foo is enabled, we shouldn't skip over files that fail to collect with an ImportError for sage.libs.foo.
When sage.libs.eclib doesn't exist, pytest will still try to collect *.py files that import it, leading to an ImportError. We add eclib to the list of feature-backed modules with workarounds for this issue.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sage can now be built without eclib/mwrank, but the tests will fail (#40543). This adds two features, one for sage.libs.eclib and one for mwrank, and then adds "needs" tags as appropriate.
This works now, but can wait until meson is used in sage-the-distro and the explicit options PR is merged. This will make it easy to run both long and non-long test suites on the CI with eclib disabled.
Dependencies
Fixes