You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched the existing issues for a bug report that matches the one I want to file, without success.
Problem Description
It is easy to make mistakes when using # optional - FEATURE and # long time annotations in doctests.
For example, in the following doctests, a # long time annotation is missing, causing a failure when sage -t is used without --long.
src/sage/coding/ag_code_decoders.pyx: sage: code = codes.EvaluationAGCode(pls, G) # long time
src/sage/coding/ag_code_decoders.pyx: sage: code # long time
src/sage/coding/ag_code_decoders.pyx- [26, 15] evaluation AG code over GF(9)
src/sage/coding/ag_code_decoders.pyx: sage: decoder = code.decoder('K')
src/sage/coding/ag_code_decoders.pyx: sage: tau = decoder.decoding_radius() # long time
src/sage/coding/ag_code_decoders.pyx: sage: tau # long time
we expect to add many more # optional annotations corresponding to "standard" packages such as # optional - scipy and corresponding to subset distributions such as # optional - sage.libs.pari.
Proposed Solution
The Sage doctester has a rudimentary data flow analyzer for the globals involved in the lines of a doctest, globs: RecordingDict, which is used for determining dependencies for parallelization purposes.
We can extend this mechanism to track the set of features (# optional tags) and the pseudo-feature long associated with each doctest line. For each variable in RecordingDict.got of a doctest_line, we check that the set of required features
is a superset of the set of required features of a predecessor of doctest_line that has variable in predecessor.globs.set,
or a proper generalization of this.
Alternatives Considered
N/A
Additional Information
No response
The text was updated successfully, but these errors were encountered:
Is there an existing issue for this?
Problem Description
It is easy to make mistakes when using
# optional - FEATURE
and# long time
annotations in doctests.For example, in the following doctests, a
# long time
annotation is missing, causing a failure whensage -t
is used without--long
.As part of
we expect to add many more
# optional
annotations corresponding to "standard" packages such as# optional - scipy
and corresponding to subset distributions such as# optional - sage.libs.pari
.Proposed Solution
The Sage doctester has a rudimentary data flow analyzer for the globals involved in the lines of a doctest,
globs: RecordingDict
, which is used for determining dependencies for parallelization purposes.We can extend this mechanism to track the set of features (
# optional
tags) and the pseudo-featurelong
associated with each doctest line. For eachvariable
inRecordingDict.got
of adoctest_line
, we check that the set of required featurespredecessor
ofdoctest_line
that hasvariable
inpredecessor.globs.set
,Alternatives Considered
N/A
Additional Information
No response
The text was updated successfully, but these errors were encountered: