sage -t: Distinguish .pxd from .pyx in doctest basenames#36238
Merged
vbraun merged 2 commits intosagemath:developfrom Sep 16, 2023
Merged
sage -t: Distinguish .pxd from .pyx in doctest basenames#36238vbraun merged 2 commits intosagemath:developfrom
sage -t: Distinguish .pxd from .pyx in doctest basenames#36238vbraun merged 2 commits intosagemath:developfrom
Conversation
Collaborator
|
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
... |
Contributor
Author
|
This is only when |
Collaborator
|
OK. Then lgtm. Let's see the tests pass again. |
|
Documentation preview for this PR (built with commit d3a00b7; changes) is ready! 🎉 |
Contributor
Author
|
Thank you! |
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Sep 14, 2023
sagemathgh-36238: `sage -t`: Distinguish .pxd from .pyx in doctest basenames <!-- ^^^^^ 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
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Sep 14, 2023
…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
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Sep 23, 2023
sagemathgh-36264: `sage --fixdoctests --update-known-test-failures`; 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
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
Oct 1, 2023
sagemathgh-36123: Upgrade numpy to 1.26.0, setuptools to 68.2.2 <!-- ^^^^^ 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):
vbraun
pushed a commit
that referenced
this pull request
Oct 8, 2023
gh-36123: Upgrade numpy to 1.26.0, setuptools to 68.2.2 <!-- ^^^^^ 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):
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.
These basenames are used in the stats file, recording test failures and running times in
~/.sage/timings2.json.Currently,
element.pyxandelement.pxdhave 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 --failedand 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