-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
sage -t
: Distinguish .pxd from .pyx in doctest basenames
#36238
sage -t
: Distinguish .pxd from .pyx in doctest basenames
#36238
Conversation
Because of the change, I think ...
if if_installed and ext in ('.py', '.pyx', '.pxd'):
module_name = get_basename(filename)
try:
if not importlib.util.find_spec(module_name): # tries to import the containing package
if log:
log(f"Skipping '{filename}' because module {module_name} is not present in the venv")
return True
except ModuleNotFoundError as e:
if log:
log(f"Skipping '{filename}' because module {e.name} cannot be imported")
return True
... |
This is only when |
OK. Then lgtm. Let's see the tests pass again. |
Documentation preview for this PR (built with commit d3a00b7; changes) is ready! 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tests passed.
Thank you! |
…senames <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> These basenames are used in the stats file, recording test failures and running times in `~/.sage/timings2.json`. Currently, `element.pyx` and `element.pxd` have the same basename, and so they clobber each other in the stats file. It depends on the order of execution which of the two wins. This affects `sage -t --failed` and the sort order according to running times. Here we disambiguate them by adding a suffix for .pxd and .pxi files. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> Cherry-picked from sagemath#35095, where the stats are used for creating records of known test failures of the modularized distributions. <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36238 Reported by: Matthias Köppe Reviewer(s): Kwankyu Lee
…senames <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> These basenames are used in the stats file, recording test failures and running times in `~/.sage/timings2.json`. Currently, `element.pyx` and `element.pxd` have the same basename, and so they clobber each other in the stats file. It depends on the order of execution which of the two wins. This affects `sage -t --failed` and the sort order according to running times. Here we disambiguate them by adding a suffix for .pxd and .pxi files. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> Cherry-picked from sagemath#35095, where the stats are used for creating records of known test failures of the modularized distributions. <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36238 Reported by: Matthias Köppe Reviewer(s): Kwankyu Lee
…silence modularized distributions in CI <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> The distributions `sagemath-repl` and `sagemath-categories` run parts of the testsuite in a virtual environment created by `tox` when SAGE_CHECK=yes. This also runs as part of the Build & Test CI. Here we make several improvements: - Support SAGE_CHECK=warn - Invoke the doctester with `--baseline-stats-path={toxinidir}/known- test-failures.json` - Make the tests silent unless new test failures, not recorded in the `known-test-failures.json`, are encountered To help maintain the `known-test-failures.json`, we also add new features to the command `sage --fixdoctests`. - `sage --fixdoctests --update-known-test-failures` reads the stats files generated by the doctester in the virtual environments and writes updated `known-test-failures.json` files to the source tree - doctester stats now also include a field `ntests` - number of doctests of a module that were run `sage --fixdoctests` also receives new switches `--distribution all`, `--fixed-point`, `--verbose`, `--no-diff` and some other improvements. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> - Part of: sagemath#29705 - Cherry-picked from: sagemath#35095 <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> - Depends on sagemath#36263 (merged here) - Depends on sagemath#36238 (merged here) <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36264 Reported by: Matthias Köppe Reviewer(s): Kwankyu Lee, Matthias Köppe
<!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> NumPy 1.26 provides Python 3.12 support and Cython 3 compatibility. 1.26.0 was released 2023-09-16. As NumPy has changed its build system from setuptools-pinned-to-an- ancient-version to meson_python, we get rid of our ancient version of `setuptools`. The SPKGs `setuptools` and `setuptools_wheel` now ship the same (current) version. - [x] Check portability run: https://github.com/mkoeppe/sage/actions/runs/5959239800 - [ ] Check SAGE_FAT_BINARY <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> Resolves sagemath#34816 <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies - Depends on sagemath#36112 (for the `meson_python` upgrades, merged here) - Depends on sagemath#35404 (merged here as part of above) - Depends on sagemath#35810 (merged here as part of above) - Depends on sagemath#36110 (merged here) - Depends on sagemath#36263 (merged here) - Depends on sagemath#36238 (merged here) - Depends on sagemath#36255 (merged here) <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36123 Reported by: Matthias Köppe Reviewer(s):
<!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes #1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> NumPy 1.26 provides Python 3.12 support and Cython 3 compatibility. 1.26.0 was released 2023-09-16. As NumPy has changed its build system from setuptools-pinned-to-an- ancient-version to meson_python, we get rid of our ancient version of `setuptools`. The SPKGs `setuptools` and `setuptools_wheel` now ship the same (current) version. - [x] Check portability run: https://github.com/mkoeppe/sage/actions/runs/5959239800 - [ ] Check SAGE_FAT_BINARY <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes #12345". --> Resolves #34816 <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies - Depends on #36112 (for the `meson_python` upgrades, merged here) - Depends on #35404 (merged here as part of above) - Depends on #35810 (merged here as part of above) - Depends on #36110 (merged here) - Depends on #36263 (merged here) - Depends on #36238 (merged here) - Depends on #36255 (merged here) <!-- List all open PRs that this PR logically depends on - #12345: short description why this is a dependency - #34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: #36123 Reported by: Matthias Köppe Reviewer(s):
These basenames are used in the stats file, recording test failures and running times in
~/.sage/timings2.json
.Currently,
element.pyx
andelement.pxd
have the same basename, and so they clobber each other in the stats file. It depends on the order of execution which of the two wins. This affectssage -t --failed
and the sort order according to running times.Here we disambiguate them by adding a suffix for .pxd and .pxi files.
Cherry-picked from #35095, where the stats are used for creating records of known test failures of the modularized distributions.
📝 Checklist
⌛ Dependencies