Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
53 changes: 0 additions & 53 deletions .github/workflows/ci-conda-known-test-failures.json

This file was deleted.

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') # skip_conda random failures on macos
Graphics object consisting of 2 graphics primitives

.. PLOT::
Expand Down
10 changes: 5 additions & 5 deletions src/sage/algebras/fusion_rings/fusion_ring.py
Original file line number Diff line number Diff line change
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) # skip_conda random timeouts
sage: b = F41.basis() # skip_conda random timeouts
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) # skip_conda random timeouts
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) # skip_conda random timeouts on macos
sage: F41.gens_satisfy_braid_gp_rels(sig) # skip_conda random timeouts on macos
True
"""
n = len(sig)
Expand Down
8 changes: 6 additions & 2 deletions src/sage/doctest/parsing.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@

import collections.abc
import doctest
import os
import re

from collections import defaultdict
from functools import reduce

Expand Down Expand Up @@ -93,7 +93,7 @@ def fake_RIFtol(*args):
# This is the correct pattern to match ISO/IEC 6429 ANSI escape sequences:
ansi_escape_sequence = re.compile(r'(\x1b[@-Z\\-~]|\x1b\[.*?[@-~]|\x9b.*?[@-~])')

special_optional_regex = 'arb216|arb218|py2|long time|not implemented|not tested|known bug'
special_optional_regex = 'arb216|arb218|py2|long time|not implemented|not tested|known bug|skip_conda'
tag_with_explanation_regex = r'((?:\w|[.])+)\s*(?:\((.*?)\))?'
optional_regex = re.compile(fr'(?P<cmd>{special_optional_regex})\s*(?:\((?P<cmd_explanation>.*?)\))?|'
fr'[^ a-z]\s*(optional|needs)(?:\s|[:-])*(?P<tags>(?:(?:{tag_with_explanation_regex})\s*)*)',
Expand All @@ -118,6 +118,7 @@ def parse_optional_tags(string, *, return_string_sans_tags=False):
- ``'py2'``
- ``'arb216'``
- ``'arb218'``
- ``'skip_conda'``
- ``'optional - FEATURE...'`` or ``'needs FEATURE...'`` --
the dictionary will just have the key ``'FEATURE'``

Expand Down Expand Up @@ -1203,6 +1204,9 @@ def check_and_clear_tag_counts():
('not tested' in optional_tags)):
continue

if ('skip_conda' in optional_tags and os.environ.get('CONDA_PREFIX', False)):
continue

if 'long time' in optional_tags:
if self.long:
optional_tags.remove('long time')
Expand Down
5 changes: 2 additions & 3 deletions src/sage/geometry/cone.py
Original file line number Diff line number Diff line change
Expand Up @@ -6364,9 +6364,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) # skip_conda random timeouts
sage: K.is_strictly_convex() # skip_conda random timeouts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one stands out to me because I wrote random_cone(). I don't think this example should time out. All we have to do here is generate a subspace (or even half-space) of dimension 5 or more, which is pretty easy to do by generating a bunch of random vectors and adding them to the list of generators one at a time. You have to be very unlucky for it to not be "instantaneous."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

False

An example with all parameters set::
Expand Down
2 changes: 1 addition & 1 deletion src/sage/graphs/generators/families.py
Original file line number Diff line number Diff line change
Expand Up @@ -3674,7 +3674,7 @@ def nauty_gentreeg(options="", debug=False):
The number of trees on the first few vertex counts. This agrees with
:oeis:`A000055`::

sage: [len(list(graphs.nauty_gentreeg(str(i)))) for i in range(1, 15)]
sage: [len(list(graphs.nauty_gentreeg(str(i)))) for i in range(1, 15)] # skip_conda fails with newer versions of nauty
[1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235, 551, 1301, 3159]

The ``debug`` switch can be used to examine ``gentreeg``'s reaction to the
Expand Down
2 changes: 1 addition & 1 deletion src/sage/modular/modform/l_series_gross_zagier.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def taylor_series(self, s=1, series_prec=6, var='z'):
sage: A = K.class_group().gen(0)
sage: from sage.modular.modform.l_series_gross_zagier import GrossZagierLseries
sage: G = GrossZagierLseries(e, A)
sage: G.taylor_series(2,3)
sage: G.taylor_series(2,3) # skip_conda random failures on macos
-0.613002046122894 + 0.490374999263514*z - 0.122903033710382*z^2 + O(z^3)
"""
return self._dokchister.taylor_series(s, series_prec, var)
Expand Down
10 changes: 5 additions & 5 deletions src/sage/parallel/map_reduce.py
Original file line number Diff line number Diff line change
Expand Up @@ -1149,20 +1149,20 @@ def start_workers(self):
....: return []
sage: S = RESetMapReduce(roots=[1, 2], children=children)
sage: S.setup_workers(2)
sage: S.start_workers(); sleep(float(0.4))
sage: S.start_workers(); sleep(float(0.4)) # skip_conda random failures on macos
Starting: ...
Starting: ...
sage: [w.is_alive() for w in S._workers]
sage: [w.is_alive() for w in S._workers] # skip_conda random failures on macos
[True, True]
sage: sleep(float(1.5))
sage: sleep(float(1.5)) # skip_conda random failures on macos
Finished: ...
Finished: ...
sage: [not w.is_alive() for w in S._workers]
sage: [not w.is_alive() for w in S._workers] # skip_conda random failures on macos
[True, True]

Cleanup::

sage: S.finish()
sage: S.finish() # skip_conda random failures on macos
"""
if self._nprocess == 0:
raise ValueError("No process connected")
Expand Down
2 changes: 1 addition & 1 deletion src/sage/plot/plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -1852,7 +1852,7 @@ def g(x): return x**2-2*x-2
``exclude`` and ``detect_poles`` can be used together::

sage: f(x) = (floor(x)+0.5) / (1-(x-0.5)^2)
sage: plot(f, (x, -3.5, 3.5), detect_poles='show', exclude=[-3..3],
sage: plot(f, (x, -3.5, 3.5), detect_poles='show', exclude=[-3..3], # skip_conda random failures on macos
....: ymin=-5, ymax=5)
Graphics object consisting of 12 graphics primitives

Expand Down
8 changes: 4 additions & 4 deletions src/sage/rings/function_field/drinfeld_modules/morphism.py
Original file line number Diff line number Diff line change
Expand Up @@ -540,12 +540,12 @@ def __invert__(self):
sage: K.<z> = Fq.extension(3)
sage: coeffs = [z] + [K.random_element() for _ in range(10)]
sage: phi = DrinfeldModule(A, coeffs)
sage: f = phi.hom(K.random_element())
sage: g = ~f
sage: f = phi.hom(K.random_element()) # skip_conda random ValueError: the input does not define an isogeny
sage: g = ~f # skip_conda random ValueError: the input does not define an isogeny

sage: (f*g).is_identity()
sage: (f*g).is_identity() # skip_conda random ValueError: the input does not define an isogeny
True
sage: (g*f).is_identity()
sage: (g*f).is_identity() # skip_conda random ValueError: the input does not define an isogeny
True

"""
Expand Down
2 changes: 1 addition & 1 deletion src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -1588,7 +1588,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
sage: P.monomial_quotient(P(3/2),P(2/3), coeff=True)
9/4

sage: P.monomial_quotient(x,y) # Note the wrong result
sage: P.monomial_quotient(x,y)
x*y^65535*z^65535 # 32-bit
x*y^1048575*z^1048575 # 64-bit

Expand Down
2 changes: 1 addition & 1 deletion src/sage/rings/polynomial/multi_polynomial_sequence.py
Original file line number Diff line number Diff line change
Expand Up @@ -1506,7 +1506,7 @@ def solve(self, algorithm='polybori', n=1, eliminate_linear_variables=True, ver
sage: sol = S.solve(algorithm='sat') # optional - pycryptosat # needs sage.rings.polynomial.pbori
sage: print(reproducible_repr(sol)) # optional - pycryptosat # needs sage.rings.polynomial.pbori
[{x: 0, y: 1, z: 0}]
sage: S.subs(sol[0]) # needs sage.rings.polynomial.pbori
sage: S.subs(sol[0]) # optional - pycryptosat # needs sage.rings.polynomial.pbori
[0, 0, 0]

TESTS:
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/polynomial/polynomial_element.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -7871,10 +7871,10 @@ cdef class Polynomial(CommutativePolynomial):

sage: # needs sage.symbolic
sage: X = var('X')
sage: f = expand((X - 1) * (X - I)^3 * (X^2 - sqrt(2))); f
sage: f = expand((X - 1) * (X - I)^3 * (X^2 - sqrt(2))); f # skip_conda random failures on macos
X^6 - (3*I + 1)*X^5 - sqrt(2)*X^4 + (3*I - 3)*X^4 + (3*I + 1)*sqrt(2)*X^3
+ (I + 3)*X^3 - (3*I - 3)*sqrt(2)*X^2 - I*X^2 - (I + 3)*sqrt(2)*X + I*sqrt(2)
sage: f.roots()
sage: f.roots() # skip_conda random failures on macos
[(I, 3), (-2^(1/4), 1), (2^(1/4), 1), (1, 1)]

The same operation, performed over a polynomial ring
Expand Down
4 changes: 2 additions & 2 deletions src/sage/sets/recursively_enumerated_set.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -1159,11 +1159,11 @@ cdef class RecursivelyEnumeratedSet_symmetric(RecursivelyEnumeratedSet_generic):
sage: next(it)
{-1, 1}
sage: from cysignals.alarm import alarm
sage: alarm(0.02); next(it)
sage: alarm(0.02); next(it) # skip_conda random failures on macos
Traceback (most recent call last):
...
AlarmInterrupt
sage: next(it)
sage: next(it) # skip_conda random failures on macos
Traceback (most recent call last):
...
StopIteration
Expand Down
2 changes: 1 addition & 1 deletion src/sage/structure/coerce_actions.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -781,7 +781,7 @@ cdef class IntegerMulAction(IntegerAction):
Check that large multiplications can be interrupted::

sage: # needs sage.schemes
sage: alarm(0.001); 2^(10^7) * P
sage: alarm(0.001); 2^(10^7) * P # skip_conda random failures on macos
Traceback (most recent call last):
...
AlarmInterrupt
Expand Down
2 changes: 1 addition & 1 deletion src/sage_setup/clean.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def _find_stale_files(site_packages, python_packages, python_modules, ext_module
sage: stale_iter = _find_stale_files(SAGE_LIB, python_packages, python_modules, [], extra_files)
sage: from importlib.machinery import EXTENSION_SUFFIXES
sage: skip_extensions = tuple(EXTENSION_SUFFIXES)
sage: for f in stale_iter:
sage: for f in stale_iter: # skip_conda Finds some stale files under sage/tests for some reason when executed under conda
....: if f.endswith(skip_extensions): continue
....: if '/ext_data/' in f: continue
....: print('Found stale file: ' + f)
Expand Down