Skip to content
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

Features for interpreter interfaces #32866

Closed
mkoeppe opened this issue Nov 13, 2021 · 17 comments
Closed

Features for interpreter interfaces #32866

mkoeppe opened this issue Nov 13, 2021 · 17 comments

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Nov 13, 2021

Follow-up from #32649

CC: @kwankyu @seblabbe

Component: refactoring

Author: Matthias Koeppe

Branch/Commit: 944bb74

Reviewer: Sébastien Labbé

Issue created by migration from https://trac.sagemath.org/ticket/32866

@mkoeppe mkoeppe added this to the sage-9.5 milestone Nov 13, 2021
@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 13, 2021

@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 13, 2021

New commits:

eaec400src/sage/features/interfaces.py: New

@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 13, 2021

Author: Matthias Koeppe, ...

@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 13, 2021

Commit: eaec400

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 14, 2021

Changed commit from eaec400 to 52ac51e

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 14, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

827ca03src/sage/features/interfaces.py: Fix and doctest exception handling
52ac51esrc/sage/features/interfaces.py (all_features): New

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 14, 2021

Changed commit from 52ac51e to 8081f29

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 14, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

7754faesrc/sage/features/interfaces.py: Fix and doctest exception handling (fixup)
8081f29src/sage/doctest/external.py: Use sage.features.interfaces

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 14, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

945132bsrc/sage/features/interfaces.py: Fix up

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 14, 2021

Changed commit from 8081f29 to 945132b

@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 15, 2021

Changed author from Matthias Koeppe, ... to Matthias Koeppe

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 16, 2021

Changed commit from 945132b to 944bb74

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 16, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

944bb74src/sage/features/interfaces.py: Add doctests

@seblabbe
Copy link
Contributor

comment:8

Looks good to me. Doctests pass. Patchbot is green. The coverage is not 100% because of few docstring missing in staticmethods __classcall__ but these are doctested in the doc of the the class just above. So, LGTM. I tested the functionnality. In particular, I get:

sage: from sage.features.interfaces import all_features
sage: [(f,f.is_present()) for f in all_features()]
[(Feature('magma'), FeatureTestResult('magma', False)),
 (Feature('matlab'), FeatureTestResult('matlab', False)),
 (Feature('mathematica'), FeatureTestResult('mathematica', False)),
 (Feature('maple'), FeatureTestResult('maple', False)),
 (Feature('macaulay2'), FeatureTestResult('macaulay2', False)),
 (Feature('octave'), FeatureTestResult('octave', True)),
 (Feature('scilab'), FeatureTestResult('scilab', False))]

which is sometimes True and sometimes False. Therefore, the routine works.

@seblabbe
Copy link
Contributor

Reviewer: Sébastien Labbé

@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 18, 2021

comment:9

Thank you!

@vbraun
Copy link
Member

vbraun commented Dec 5, 2021

Changed branch from u/mkoeppe/features_for_interpreter_interfaces to 944bb74

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants