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

Introduce os-dependent doctest tags # known bug: macos, # known bug: linux #36960

Open
wants to merge 29 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
380663c
Introduce os-dependent known bugs annotation
tobiasdiez Dec 25, 2023
9273c08
Exclude random error in rings/test
tobiasdiez Dec 25, 2023
cc36211
Use sporadic instead of random, put description in parentheses
tobiasdiez Dec 26, 2023
488b242
Put one more description into parentheses
tobiasdiez Dec 26, 2023
6716814
Add two spaces before doctest comment
tobiasdiez Dec 26, 2023
e4bd869
fix remaining doctest failures
tobiasdiez Dec 26, 2023
ed35ed0
Known bug with sporadic timeouts in FusionRing class is not specific …
tobiasdiez Dec 31, 2023
4580a40
Add known bug in fusion rings
tobiasdiez Jan 3, 2024
04a4bbe
Add sporadic seg fault in gap
tobiasdiez Jan 3, 2024
4446474
bugs in geometry/cone occur only on mac
tobiasdiez Dec 20, 2023
e347ddd
Gap issues are sadly not yet resolved
tobiasdiez Jan 4, 2024
e963721
Add sporadic failure in expect
tobiasdiez Jan 4, 2024
956ed67
Add known bug of sporadic timeouts in matrix2
tobiasdiez Jan 4, 2024
5ed329b
More known bug tags in matrix2
tobiasdiez Jan 5, 2024
2556f79
Add known bug in cone.py
tobiasdiez Jan 16, 2024
f1da6a9
Known bug in plot happens also on linux
tobiasdiez Jan 16, 2024
d9ba86a
Known bugs related to DrinfeldModuleMorphism also happens on linux
tobiasdiez Jan 16, 2024
69ae871
Remove print command
tobiasdiez Jan 24, 2024
9ab163a
Hide known bug in ell_rational_field.py
tobiasdiez Feb 11, 2024
f13d5c1
Hide bug in EllipticCurve_finite_field.py
tobiasdiez Feb 11, 2024
1c7bb0f
Hide skip test bug in Matrix_gap class
tobiasdiez Feb 11, 2024
46096bc
Hide known bug in NumberFieldElement_quadratic.pyx
tobiasdiez Feb 11, 2024
aeb76dd
Hide bug in linear_tensor_element.pyx
tobiasdiez Feb 11, 2024
4ceefa1
Hide more known bugs in gap/element
tobiasdiez Feb 11, 2024
6ee938b
reduce known-test-failures to cover only known source not matched by …
tobiasdiez Feb 11, 2024
cd1bf01
fix linter
tobiasdiez Feb 11, 2024
a2e51d1
Hide known bug in `interfaces/gap`
tobiasdiez Feb 11, 2024
20e13c8
Remove obsolete known bug annotation in `_find_stale_files` function
tobiasdiez Feb 11, 2024
518b577
Merge branch 'develop' into random_bugs
tobiasdiez Feb 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 1 addition & 76 deletions .github/workflows/ci-conda-known-test-failures.json
Original file line number Diff line number Diff line change
@@ -1,80 +1,5 @@
{
"doc.en.constructions.calculus": {
"failed": "unreported random failures in plotting"
},
"sage_setup.clean": {
"failed": "_find_stale_files finds some stale files under sage/tests when executed under conda"
},
"sage.algebras.fusion_rings.fusion_ring": {
"failed": "unreported random timeouts"
},
"sage.combinat.cluster_algebra_quiver.quiver": {
"failed": "failure seen in https://github.com/sagemath/sage/actions/runs/6836592771/job/18591690058#step:11:10059"
},
"sage.geometry.cone": {
"failed": "unreported random timeouts seen in https://github.com/sagemath/sage/actions/runs/6827937663/job/18571052628#step:11:12362"
},
"sage.groups.matrix_gps.finitely_generated_gap": {
"failed": true
},
"sage.interfaces.expect": {
"failed": true
},
"sage.libs.gap.element": {
"failed": "failure seen in https://github.com/sagemath/sage/actions/runs/6840579851/job/18600012965#step:11:13016"
},
"sage.libs.singular.singular": {
"failed": true
},
"sage.matrix.matrix2": {
"failed": "failure seen in https://github.com/sagemath/sage/actions/runs/6835143781/job/18588599649#step:11:16939"
},
"sage.matrix.matrix_integer_sparse": {
"failed": "failure seen in https://github.com/sagemath/sage/actions/runs/6827937663/job/18571052628#step:11:12362"
},
"sage.misc.lazy_import": {
"failed": true
},
"sage.misc.weak_dict": {
"failed": "failure seen in https://github.com/sagemath/sage/actions/runs/6870325919/job/18684964234#step:11:10059"
},
"sage.modular.modform.l_series_gross_zagier": {
"failed": "unreported failure seen in https://github.com/sagemath/sage/actions/runs/6859244281/job/18651257775#step:11:10102"
},
"sage.numerical.linear_tensor_element": {
"failed": "random segfaults https://github.com/sagemath/sage/issues/28559"
},
"sage.parallel.map_reduce": {
"failed": "random failure https://github.com/sagemath/sage/issues/36939"
},
"sage.plot.plot": {
"failed": "unreported random failure (macOS)"
},
"sage.rings.function_field.drinfeld_modules.morphism": {
"failed": "unreported random failure seen in https://github.com/sagemath/sage/actions/runs/6840502530/job/18599835766#step:11:10107"
},
"sage.rings.polynomial.multi_polynomial_ideal": {
"failed": true
},
"sage.rings.polynomial.multi_polynomial_libsingular": {
"failed": true
},
"sage.rings.polynomial.polynomial_element": {
"failed": "unreported random failure in symbolic 'roots' (macOS)"
},
"sage.rings.polynomial.skew_polynomial_finite_field": {
"failed": true
},
"sage.schemes.elliptic_curves.descent_two_isogeny": {
"failed": "random segfault (macOS) https://github.com/sagemath/sage/issues/36949"
},
"sage.schemes.elliptic_curves.ell_field": {
"failed": "random failure https://github.com/sagemath/sage/issues/36832"
},
"sage.sets.recursively_enumerated_set": {
"failed": "random failures related to AlarmInterrupt (macOS)"
},
"sage.structure.coerce_actions": {
"failed": "random failure https://github.com/sagemath/sage/issues/35973"
"failed": "https://github.com/sagemath/sage/issues/37289"
}
}
2 changes: 1 addition & 1 deletion src/doc/en/constructions/calculus.rst
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,7 @@ are obtained via ``fourier_series_partial_sum``::
-6/5/pi
sage: s5 = f.fourier_series_partial_sum(5); s5
-6/5*sin(10*x)/pi - 2*sin(6*x)/pi - 6*sin(2*x)/pi + 1/2
sage: plot(f, (0,pi)) + plot(s5, (x,0,pi), color='red')
sage: plot(f, (0,pi)) + plot(s5, (x,0,pi), color='red') # known bug: macos (sporadic failures)
Graphics object consisting of 2 graphics primitives

.. PLOT::
Expand Down
2 changes: 1 addition & 1 deletion src/sage/algebras/clifford_algebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -2449,7 +2449,7 @@ def __init__(self, E, s_coeff):

sage: E.<x,y,z> = ExteriorAlgebra(QQ)
sage: d = E.coboundary({(0,1): z, (1,2):x, (2,0):y})
sage: TestSuite(d).run() # known bug - morphisms are properly in a category
sage: TestSuite(d).run() # known bug (morphisms are properly in a category)
"""
# Construct the dictionary of costructure coefficients, i.e. given
# [x_j, x_k] = \sum_i s_{jk}^i x_i, we get x^i |-> \sum_{j<k} s_{jk}^i x^j x^k.
Expand Down
12 changes: 6 additions & 6 deletions src/sage/algebras/fusion_rings/fusion_ring.py
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ def test_braid_representation(self, max_strands=6, anyon=None):
sage: A21.test_braid_representation(max_strands=4)
True
sage: F41 = FusionRing("F4", 1) # long time
sage: F41.test_braid_representation() # long time
sage: F41.test_braid_representation() # long time # known bug (sporadic timeouts, #36992)
True
"""
if not self.is_multiplicity_free(): # Braid group representation is not available if self is not multiplicity free
Expand Down Expand Up @@ -877,9 +877,9 @@ def s_ijconj(self, elt_i, elt_j, base_coercion=True):
True
sage: F41 = FusionRing("F4", 1)
sage: fmats = F41.get_fmatrix()
sage: fmats.find_orthogonal_solution(verbose=False)
sage: b = F41.basis()
sage: all(F41.s_ijconj(x, y) == F41._basecoer(F41.s_ij(x, y, base_coercion=False).conjugate()) for x in b for y in b)
sage: fmats.find_orthogonal_solution(verbose=False) # known bug (sporadic timeouts, #36992)
sage: b = F41.basis() # known bug (sporadic timeouts, #36992)
sage: all(F41.s_ijconj(x, y) == F41._basecoer(F41.s_ij(x, y, base_coercion=False).conjugate()) for x in b for y in b) # known bug (sporadic timeouts, #36992)
True
sage: G22 = FusionRing("G2", 2)
sage: fmats = G22.get_fmatrix()
Expand Down Expand Up @@ -1401,8 +1401,8 @@ def gens_satisfy_braid_gp_rels(self, sig):
sage: F41 = FusionRing("F4", 1, fusion_labels="f", inject_variables=True)
sage: f1*f1
f0 + f1
sage: comp, sig = F41.get_braid_generators(f1, f0, 4, verbose=False)
sage: F41.gens_satisfy_braid_gp_rels(sig)
sage: comp, sig = F41.get_braid_generators(f1, f0, 4, verbose=False) # known bug (sporadic timeouts, #36992)
sage: F41.gens_satisfy_braid_gp_rels(sig) # known bug (sporadic timeouts, #36992)
True
"""
n = len(sig)
Expand Down
8 changes: 4 additions & 4 deletions src/sage/calculus/calculus.py
Original file line number Diff line number Diff line change
Expand Up @@ -1235,7 +1235,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
With this example, Maxima is looking for a LOT of information::

sage: assume(a>0)
sage: limit(x^a,x=0) # random - maxima 5.46.0 does not need extra assumption
sage: limit(x^a,x=0) # known bug (maxima 5.46.0 does not need extra assumption)
Traceback (most recent call last):
...
ValueError: Computation failed since Maxima requested additional
Expand All @@ -1244,7 +1244,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
more details)
Is a an integer?
sage: assume(a,'integer')
sage: limit(x^a, x=0) # random - maxima 5.46.0 does not need extra assumption
sage: limit(x^a, x=0) # known bug (maxima 5.46.0 does not need extra assumption)
Traceback (most recent call last):
...
ValueError: Computation failed since Maxima requested additional
Expand Down Expand Up @@ -1668,9 +1668,9 @@ def laplace(ex, t, s, algorithm='maxima'):
sage: laplace(dirac_delta(t), t, s)
1
sage: F, a, cond = laplace(dirac_delta(t), t, s, algorithm='sympy')
sage: a, cond # random - sympy <1.10 gives (-oo, True)
sage: a, cond # known bug (sympy <1.10 gives (-oo, True))
(0, True)
sage: F # random - sympy <1.9 includes undefined heaviside(0) in answer
sage: F # known bug (sympy <1.9 includes undefined heaviside(0) in answer)
1
sage: laplace(dirac_delta(t), t, s, algorithm='giac')
1
Expand Down
6 changes: 3 additions & 3 deletions src/sage/calculus/transforms/dft.py
Original file line number Diff line number Diff line change
Expand Up @@ -798,10 +798,10 @@ def idwt(self, other="haar", wavelet_k=2):
sage: A = [RR(1) for i in J]
sage: s = IndexedSequence(A,J)
sage: t = s.dwt()
sage: t # random arch dependent output
sage: t # known bug (arch dependent output)
Indexed sequence: [2.82842712474999, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000]
indexed by [0, 1, 2, 3, 4, 5, 6, 7]
sage: t.idwt() # random arch dependent output
sage: t.idwt() # known bug (arch dependent output)
Indexed sequence: [1.00000000000000, 1.00000000000000, 1.00000000000000, 1.00000000000000, 1.00000000000000, 1.00000000000000, 1.00000000000000, 1.00000000000000]
indexed by [0, 1, 2, 3, 4, 5, 6, 7]
sage: t.idwt() == s
Expand All @@ -810,7 +810,7 @@ def idwt(self, other="haar", wavelet_k=2):
sage: A = [RR(1) for i in J]
sage: s = IndexedSequence(A,J)
sage: t = s.dwt("bspline", 103)
sage: t # random arch dependent output
sage: t # known bug (arch dependent output)
Indexed sequence: [4.00000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000]
indexed by [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
sage: t.idwt("bspline", 103) == s
Expand Down
2 changes: 1 addition & 1 deletion src/sage/categories/sets_cat.py
Original file line number Diff line number Diff line change
Expand Up @@ -1735,7 +1735,7 @@ def _sympy_(self):
sage: list(sF)
[1, 2, 3]
sage: from sympy import FiniteSet
sage: FiniteSet.fromiter(sF) # random - this output is sympy >= 1.9
sage: FiniteSet.fromiter(sF) # known bug (this output is sympy >= 1.9)
FiniteSet(1, 2, 3)

sage: RR._sympy_().is_finite_set # needs sympy
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/sf/sfa.py
Original file line number Diff line number Diff line change
Expand Up @@ -6456,7 +6456,7 @@ def _variables_recursive(R, include=None, exclude=None):
sage: _variables_recursive(R.fraction_field(), exclude=[b])
[a]

sage: _variables_recursive(S.fraction_field(), exclude=[b]) # known bug
sage: _variables_recursive(S.fraction_field(), exclude=[b]) # known bug
[a, t]
"""
if include is not None and exclude is not None:
Expand Down
2 changes: 0 additions & 2 deletions src/sage/doctest/parsing.py
Original file line number Diff line number Diff line change
Expand Up @@ -871,14 +871,12 @@ class SageDocTestParser(doctest.DocTestParser):
A version of the standard doctest parser which handles Sage's
custom options and tolerances in floating point arithmetic.
"""

long: bool
file_optional_tags: set[str]
optional_tags: Union[bool, set[str]]
optional_only: bool
optionals: dict[str, int]
probed_tags: set[str]

def __init__(self, optional_tags=(), long=False, *, probed_tags=(), file_optional_tags=()):
r"""
INPUT:
Expand Down
7 changes: 3 additions & 4 deletions src/sage/geometry/cone.py
Original file line number Diff line number Diff line change
Expand Up @@ -5740,7 +5740,7 @@ def positive_operators_gens(self, K2=None):
sage: pi_cone = Cone((g.list() for g in pi_gens),
....: lattice=L,
....: check=False)
sage: K.is_proper() == pi_cone.is_proper()
sage: K.is_proper() == pi_cone.is_proper() # known bug: macos (sporadic timeouts)
True

The positive operators on a permuted cone can be obtained by
Expand Down Expand Up @@ -6363,9 +6363,8 @@ def random_cone(lattice=None, min_ambient_dim=0, max_ambient_dim=None,

Or one that isn't strictly convex::

sage: K = random_cone(min_ambient_dim=5, min_rays=2,
....: strictly_convex=False)
sage: K.is_strictly_convex()
sage: K = random_cone(min_ambient_dim=5, min_rays=2, strictly_convex=False) # known bug: macos (sporadic timeouts)
sage: K.is_strictly_convex() # known bug: macos (sporadic timeouts)
False

An example with all parameters set::
Expand Down
2 changes: 1 addition & 1 deletion src/sage/interfaces/expect.py
Original file line number Diff line number Diff line change
Expand Up @@ -1217,7 +1217,7 @@ def _expect_expr(self, expr=None, timeout=None):

A quick consistency check on the time that the above took::

sage: w = walltime(t); 0.3 < w < 10
sage: w = walltime(t); 0.3 < w < 10 # known bug: sporadic failure
True

We tell Singular to print abc, which equals 25::
Expand Down
2 changes: 1 addition & 1 deletion src/sage/interfaces/gap.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ def _synchronize(self, timeout=0.5, cmd='%s;'):
sage: gap._expect.sendline() # now we are out of sync
1
sage: gap._synchronize()
sage: gap(123)
sage: gap(123) # known bug: macos (sporadic test failures, #37298)
123
"""
if self._expect is None:
Expand Down
2 changes: 1 addition & 1 deletion src/sage/interfaces/sympy.py
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,7 @@ def _sympysage_ff(self):
sage: from sympy import Symbol, ff
sage: _ = var('x, y')
sage: ffxy = ff(Symbol('x'), Symbol('y'))
sage: assert falling_factorial(x,y)._sympy_() == ffxy.rewrite('gamma') # known bug
sage: assert falling_factorial(x,y)._sympy_() == ffxy.rewrite('gamma') # known bug
sage: assert falling_factorial(x,y) == ffxy._sage_()
"""
from sage.arith.misc import falling_factorial
Expand Down
Loading
Loading