Opened 9 months ago
Closed 9 months ago
#32614 closed enhancement (fixed)
Features and optional tags for sage modules provided by separate distributions
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.5 |
Component: | doctest framework | Keywords: | |
Cc: | gh-kliem, jhpalmieri | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | John Palmieri, Travis Scrimshaw |
Report Upstream: | N/A | Work issues: | |
Branch: | 4558791 (Commits, GitHub, GitLab) | Commit: | 4558791ccdef49ec5045072fabf2c8d9358f066f |
Dependencies: | Stopgaps: |
Description (last modified by )
... so that we can start writing # optional - sage.symbolic
and similar.
We use it in #32432 (sagemath-polyhedra) to skip doctests that depend on sage.graphs
, sage.combinat
, sage.rings.number_field
etc.
Change History (31)
comment:1 Changed 9 months ago by
- Branch set to u/mkoeppe/features_and_optional_tags_for_sage_subset_distributions
comment:2 Changed 9 months ago by
- Commit set to 9096edb73bfa435e242635b5d5eb01b62aadd21a
comment:3 Changed 9 months ago by
- Commit changed from 9096edb73bfa435e242635b5d5eb01b62aadd21a to 747b458420bffc389fdc1e3a1acec4148e818ba4
comment:4 Changed 9 months ago by
- Description modified (diff)
- Summary changed from Features and optional tags for sage subset distributions to Features and optional tags for sage modules provided by separate distributions
comment:5 Changed 9 months ago by
- Description modified (diff)
comment:6 Changed 9 months ago by
- Commit changed from 747b458420bffc389fdc1e3a1acec4148e818ba4 to 5e04a85c4dbe3663bab664b7356d255b5ddc1cf6
comment:7 Changed 9 months ago by
- Commit changed from 5e04a85c4dbe3663bab664b7356d255b5ddc1cf6 to 66cf3e12e49e6d5b86bd6023edc2d9d92ee2b00e
Branch pushed to git repo; I updated commit sha1. New commits:
66cf3e1 | src/sage/doctest/control.py: Fixup handling of sage_optional_tags
|
comment:8 Changed 9 months ago by
- Commit changed from 66cf3e12e49e6d5b86bd6023edc2d9d92ee2b00e to 1ec0c485ccaed52ce83ba66c479fadfa3ef9b167
Branch pushed to git repo; I updated commit sha1. New commits:
1ec0c48 | src/sage/features/sagemath.py: Add sage.rings.number_field
|
comment:9 Changed 9 months ago by
- Status changed from new to needs_review
comment:10 Changed 9 months ago by
- Commit changed from 1ec0c485ccaed52ce83ba66c479fadfa3ef9b167 to 006374980e227e2e15b9324d3a3b47b2290d7570
Branch pushed to git repo; I updated commit sha1. New commits:
0063749 | src/sage/features/sagemath.py: Add features for modules that were optional extensions
|
comment:11 follow-ups: ↓ 12 ↓ 13 Changed 9 months ago by
Next round of stupid questions: How is this going to work? Are we doing to have to add many such markers to a lot of doctests? How will we as developers test which ones we need to add?
comment:12 in reply to: ↑ 11 Changed 9 months ago by
comment:13 in reply to: ↑ 11 Changed 9 months ago by
comment:14 follow-ups: ↓ 15 ↓ 16 Changed 9 months ago by
Still no hyphens allowed in # optional - keyword
? In any case, please also change the documentation in developer/coding_basics.rst
to match the behavior (currently says "Any punctuation (periods, commas, hyphens, semicolons, ...) after the first word ends the list of packages."). I think we should have a clearly defined (and well-thought out, or is that too much to ask?) syntax for the keywords. This section of the documentation should ideally also provide examples in which tags are combined, as in # optional - abc, long time
. And I guess that is why we chose to parse # optional - abc, xyz
as abc
rather than abc
and xyz
. It is a little odd that with the proposed changes, # optional - abc. long time
will be treated very differently than # optional - abc, long time
.
comment:15 in reply to: ↑ 14 Changed 9 months ago by
Replying to jhpalmieri:
Still no hyphens allowed in
# optional - keyword
?
That's right -- this reflects the fact that our tags for optional packages use the spkg names, which use underscore, not dash.
Dashes appear in Python distribution package names (tools like setuptools
normalize underscores to dashes).
comment:16 in reply to: ↑ 14 Changed 9 months ago by
Replying to jhpalmieri:
It is a little odd that with the proposed changes,
# optional - abc. long time
will be treated very differently than# optional - abc, long time
.
Using .
like this has not been observed in the wild, as can be checked with git grep '#.*optional.*[.]'
comment:17 Changed 9 months ago by
I'll update the documentation
comment:18 Changed 9 months ago by
- Commit changed from 006374980e227e2e15b9324d3a3b47b2290d7570 to 14fd1e54a13b1df7f81858019b31fb92cdf36007
Branch pushed to git repo; I updated commit sha1. New commits:
14fd1e5 | src/doc/en/developer/coding_basics.rst: Update discussion of feature tags
|
comment:19 Changed 9 months ago by
- Commit changed from 14fd1e54a13b1df7f81858019b31fb92cdf36007 to 27c53ac6450f789246b1df895bc26950a0cceb65
Branch pushed to git repo; I updated commit sha1. New commits:
27c53ac | src/sage/features/sagemath.py: Add 'sage.plot'
|
comment:20 Changed 9 months ago by
- Dependencies set to #30887
comment:21 Changed 9 months ago by
- Commit changed from 27c53ac6450f789246b1df895bc26950a0cceb65 to 10e8d6395e1c829b6a28750d3035de95862230b8
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
ea548d7 | sage.features.four_ti_2: New, use it in sage.interfaces.four_ti_2, sage.sandpiles
|
f826ded | build/pkgs/4ti2/spkg-configure.m4: Check for executable's with prefix 4ti2_ too
|
56016ce | use AC_LINK_IFELSE instead of obsolete AC_TRY_LINK
|
2b45b77 | sage.feature.join_feature: New, factored out from LatteFeature; use it to implement FourTi2Feature
|
5c23cc9 | DocTestReporter: Fix 'sage -t --optional=all'
|
1b8634d | sage.doctest.external: Add 4ti2
|
d9d4f99 | Merge tag '9.4.beta6' into t/30887/public/30887
|
646e182 | src/sage/features/four_ti_2.py: Move import of SAGE_ENV inside the __init__ method, to remove confusion of sage.misc.dev_tools
|
180e31d | Merge #30887
|
10e8d63 | sage.features.sagemath: Use JoinFeature when tag is different from the actually tested module
|
comment:22 Changed 9 months ago by
- Description modified (diff)
comment:23 Changed 9 months ago by
- Commit changed from 10e8d6395e1c829b6a28750d3035de95862230b8 to 654d09ca4c22f4888d8e511789e57a7627043492
Branch pushed to git repo; I updated commit sha1. New commits:
654d09c | sage.features.sagemath: Change sage_optional_tags to sage_features
|
comment:24 Changed 9 months ago by
- Commit changed from 654d09ca4c22f4888d8e511789e57a7627043492 to f63a7d0171ba5f753d1755e0aff3fd00e373590c
Branch pushed to git repo; I updated commit sha1. New commits:
f63a7d0 | src/sage/features/: Move features depending on optional packages to separate files
|
comment:25 Changed 9 months ago by
- Reviewers set to John Palmieri, Travis Scrimshaw
John, any other comments? I think I am ready to set a positive review.
comment:26 Changed 9 months ago by
I am happy with it. Please go ahead with a positive review when you are ready.
comment:27 Changed 9 months ago by
- Status changed from needs_review to positive_review
comment:28 Changed 9 months ago by
Thanks for the review!
comment:29 Changed 9 months ago by
- Commit changed from f63a7d0171ba5f753d1755e0aff3fd00e373590c to 4558791ccdef49ec5045072fabf2c8d9358f066f
- Status changed from positive_review to needs_review
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
4558791 | Merge tag '9.5.beta3' into t/32614/features_and_optional_tags_for_sage_subset_distributions
|
comment:30 Changed 9 months ago by
- Dependencies #30887 deleted
- Status changed from needs_review to positive_review
comment:31 Changed 9 months ago by
- Branch changed from u/mkoeppe/features_and_optional_tags_for_sage_subset_distributions to 4558791ccdef49ec5045072fabf2c8d9358f066f
- Resolution set to fixed
- Status changed from positive_review to closed
Currently optional tags can contain neither
.
nor-
:New commits:
sage.features.sagemath: New