-
-
Notifications
You must be signed in to change notification settings - Fork 522
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
Doctests failures in sage/doctest/control.py when sagemath-meataxe is installed #37905
Comments
Actually it is most likely a self inflicted sage-on-gentoo feature because I avoid using stuff from misc/package.py in doctest as much as possible. But if we are going to deal with that unfortunate old sage feature we need to remember about this. This test failure also only appeared recently. |
On closer inspection, I am not sure how meataxe is supposed to be masked in that doctest. I cannot work it out. |
The issue will be fixed by #37737, especially commit f881e2b (see also #37737 (comment)). |
<!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> From sagemath#36741 (comment) > Overall, I would suggest to remove the direct and unconditional use of multiprocessing from sage.features. > Perhaps sage.doctest can put such Value attributes into features that are to be hidden. This PR implements the suggestion made in sagemath#36741 (comment) > I looked a little bit into it and here's an idea: > > * In features, implement a simple hide() / unhide() / is_hidden() interface. > * The only state is _hidden, not shared (for parallel doctesting this will be set before fork so it's ok) > * Implement AvailableSoftware.hidden() similar to AvailableSoftware.seen() so the logic stays in that class and internals don't leak to sage.doctest.control (if necessary use _seen[idx] to record hidden state and/or number of hidings, or add another shared array) Fixes sagemath#37905 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#37737 Reported by: Sebastian Oehms Reviewer(s): Matthias Köppe, Sebastian Oehms
<!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> From sagemath#36741 (comment) > Overall, I would suggest to remove the direct and unconditional use of multiprocessing from sage.features. > Perhaps sage.doctest can put such Value attributes into features that are to be hidden. This PR implements the suggestion made in sagemath#36741 (comment) > I looked a little bit into it and here's an idea: > > * In features, implement a simple hide() / unhide() / is_hidden() interface. > * The only state is _hidden, not shared (for parallel doctesting this will be set before fork so it's ok) > * Implement AvailableSoftware.hidden() similar to AvailableSoftware.seen() so the logic stays in that class and internals don't leak to sage.doctest.control (if necessary use _seen[idx] to record hidden state and/or number of hidings, or add another shared array) Fixes sagemath#37905 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#37737 Reported by: Sebastian Oehms Reviewer(s): Matthias Köppe, Sebastian Oehms
Steps To Reproduce
This is observed in sage-on-gentoo with both python 3.11 and python 3.12 and sage 10.4.beta4. Install sagemath-meataxe and run
Expected Behavior
When sagemath-meataxe is not installed, the doctest pass
Actual Behavior
The doctest fails with
Additional Information
As can be seen in the failing doctest there is a mention that meataxe is a hidden feature. But in actual fact it is not during this test.
Environment
Checklist
The text was updated successfully, but these errors were encountered: