Skip to content

Conversation

dcoudert
Copy link
Contributor

@dcoudert dcoudert commented Jul 3, 2023

Fixes #35889.

📚 Description

We deprecate sorting by default in connected_components and connected_component_containing_vertex. The default value of parameter sort was True. We change it to None to identify calls when a deprecation warning is necessary. We also add parameter key so that users can define home made sorting rules.

This deprecation is needed to avoid type errors when vertices have labels of incomparable type.

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@dcoudert dcoudert changed the title Fix some issues in graphs when when vertex labels are not comparable Fix some issues in graphs when vertex labels are not comparable Jul 3, 2023
@jhpalmieri
Copy link
Member

Do we need to deprecate the change in the default for the sort argument?

@dcoudert
Copy link
Contributor Author

dcoudert commented Jul 3, 2023

Do we need to deprecate the change in the default for the sort argument?

Yes, it's better with a deprecation warning.
Are we able to have the warning only for direct calls to the method and not for undirected calls ? We have many methods calling connected_component_containing_vertex and it would be annoying to see deprecation warnings every where. See for instance the many failing doctests outside the graphs module due to the proposed changes.

@dcoudert dcoudert changed the title Fix some issues in graphs when vertex labels are not comparable Deprecate sorting by default in connected component methods for graphs Jul 4, 2023
@dcoudert
Copy link
Contributor Author

dcoudert commented Jul 4, 2023

I changed the title and description of this PR to better reflect its content.

@dcoudert
Copy link
Contributor Author

Thank you.

@vbraun
Copy link
Member

vbraun commented Jul 21, 2023

Merge conflict, please fix

@dcoudert
Copy link
Contributor Author

I fixed the merge conflict. I'm setting the ticket back to positive review.

@vbraun
Copy link
Member

vbraun commented Jul 26, 2023

**********************************************************************
File "src/sage/geometry/polyhedral_complex.py", line 226, in sage.geometry.polyhedral_complex.PolyhedralComplex
Failed example:
    pc.connected_component() == pc
Expected:
    True
Got:
    doctest:warning
      File "/home/release/Sage/src/bin/sage-runtests", line 162, in <module>
        err = DC.run()
      File "/home/release/Sage/src/sage/doctest/control.py", line 1531, in run
        self.run_doctests()
      File "/home/release/Sage/src/sage/doctest/control.py", line 1143, in run_doctests
        self.dispatcher.dispatch()
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2085, in dispatch
        self.parallel_dispatch()
      File "/home/release/Sage/src/sage/doctest/forker.py", line 1980, in parallel_dispatch
        w.start()  # This might take some time
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2254, in start
        super().start()
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/context.py", line 281, in _Popen
        return Popen(process_obj)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2226, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2556, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2608, in _run
        result = runner.run(test)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 908, in run
        return self._run(test, compileflags, out)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 709, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 1144, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedral_complex.PolyhedralComplex[11]>", line 1, in <module>
        pc.connected_component() == pc
      File "/home/release/Sage/src/sage/geometry/polyhedral_complex.py", line 1237, in connected_component
        vertices = g.connected_component_containing_vertex(v)
      File "/home/release/Sage/src/sage/misc/superseded.py", line 98, in deprecation
        warning(issue_number, message, DeprecationWarning, stacklevel)
      File "/home/release/Sage/src/sage/misc/superseded.py", line 176, in warning
        warn(message, warning_class, stacklevel)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: parameter 'sort' will be set to False by default in the future
    See https://github.com/sagemath/sage/issues/35889 for details.
    True
**********************************************************************
File "src/sage/geometry/polyhedral_complex.py", line 1188, in sage.geometry.polyhedral_complex.PolyhedralComplex.connected_component
Failed example:
    pc1.connected_component() == pc1
Expected:
    True
Got:
    doctest:warning
      File "/home/release/Sage/src/bin/sage-runtests", line 162, in <module>
        err = DC.run()
      File "/home/release/Sage/src/sage/doctest/control.py", line 1531, in run
        self.run_doctests()
      File "/home/release/Sage/src/sage/doctest/control.py", line 1143, in run_doctests
        self.dispatcher.dispatch()
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2085, in dispatch
        self.parallel_dispatch()
      File "/home/release/Sage/src/sage/doctest/forker.py", line 1980, in parallel_dispatch
        w.start()  # This might take some time
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2254, in start
        super().start()
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/context.py", line 281, in _Popen
        return Popen(process_obj)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2226, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2556, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 2608, in _run
        result = runner.run(test)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 908, in run
        return self._run(test, compileflags, out)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 709, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/home/release/Sage/src/sage/doctest/forker.py", line 1144, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedral_complex.PolyhedralComplex.connected_component[9]>", line 1, in <module>
        pc1.connected_component() == pc1
      File "/home/release/Sage/src/sage/geometry/polyhedral_complex.py", line 1237, in connected_component
        vertices = g.connected_component_containing_vertex(v)
      File "/home/release/Sage/src/sage/misc/superseded.py", line 98, in deprecation
        warning(issue_number, message, DeprecationWarning, stacklevel)
      File "/home/release/Sage/src/sage/misc/superseded.py", line 176, in warning
        warn(message, warning_class, stacklevel)
      File "/home/release/Sage/local/var/lib/sage/venv-python3.11.1/lib/python3.11/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: parameter 'sort' will be set to False by default in the future
    See https://github.com/sagemath/sage/issues/35889 for details.
    True
**********************************************************************
2 items had failures:
   1 of  22 in sage.geometry.polyhedral_complex.PolyhedralComplex
   1 of  25 in sage.geometry.polyhedral_complex.PolyhedralComplex.connected_component
    [469 tests, 2 failures, 6.11 s]
----------------------------------------------------------------------
sage -t --long --warn-long 36.1 --random-seed=123 src/sage/geometry/polyhedral_complex.py  # 2 doctests failed
----------------------------------------------------------------------

@dcoudert
Copy link
Contributor Author

There is an embarrassing issue here. When I run ./sage -t --long src/sage/geometry/, file src/sage/geometry/polyhedral_complex.py is not tested (see below). But I can test it using ./sage -t --long src/sage/geometry/polyhedral_complex.py. May be this is due to the first line of the file which is # sage.doctest: optional - sage.graphs.

MAC-04017247:sage dcoudert$ ./sage -t --long src/sage/geometry/
Running doctests with ID 2023-07-26-23-29-39-3bc290e2.
Git branch: tmp2
Git ref: 10.1.beta7-7-g69803e06fc
Running with SAGE_LOCAL='/Users/dcoudert/sage/local' and SAGE_VENV='/Users/dcoudert/sage/local/var/lib/sage/venv-python3.11'
Using --optional=antic,benzene,bliss,buckygen,cryptominisat,csdp,dot2tex,e_antic,gap_packages,glucose,homebrew,igraph,libsemigroups,normaliz,papilo,pip,plantri,pynormaliz,pyscipopt,python_igraph,sage,sage_spkg,scip,soplex,tdlib,texttable
Features to be detected: 4ti2,benzene,bliss,buckygen,conway_polynomials,csdp,cvxopt,cvxopt,database_cremona_ellcurve,database_cremona_mini_ellcurve,database_cubic_hecke,database_jones_numfield,database_knotinfo,dvipng,fpylll,gfan,graphviz,imagemagick,ipython,jupymake,kenzo,latte_int,lrcalc_python,lrslib,mcqd,meataxe,mpmath,msolve,nauty,networkx,numpy,palp,pandoc,pdf2svg,pdftocairo,pexpect,phitigra,pillow,plantri,polytopes_db,polytopes_db_4d,pplpy,primecountpy,ptyprocess,pynormaliz,pyparsing,python_igraph,requests,rubiks,sage.combinat,sage.geometry.polyhedron,sage.graphs,sage.groups,sage.libs.flint,sage.libs.gap,sage.libs.ntl,sage.libs.pari,sage.libs.singular,sage.misc.cython,sage.modular,sage.modules,sage.plot,sage.rings.finite_rings,sage.rings.function_field,sage.rings.number_field,sage.rings.padics,sage.rings.polynomial.pbori,sage.rings.real_double,sage.rings.real_mpfr,sage.schemes,sage.symbolic,sage_numerical_backends_coin,sagemath_doc_html,scipy,singular,sphinx,sympy,tdlib
Doctesting 96 files.
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/linear_expression.py
    [165 tests, 0.19 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/convex_set.py
    [148 tests, 0.19 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/cone_catalog.py
    [80 tests, 2.06 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/newton_polygon.py
    [110 tests, 0.13 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/ribbon_graph.py
    [224 tests, 0.07 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/voronoi_diagram.py
    [32 tests, 2.24 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/toric_plotter.py
    [100 tests, 1.69 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/abc.pyx
    [15 tests, 0.16 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/integral_points.pxi
    [171 tests, 1.09 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/integral_points.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/integral_points_generic_dense.pyx
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/point_collection.pyx
    [111 tests, 0.16 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/lattice_polytope.py
    [661 tests, 8.94 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/pseudolines.py
    [77 tests, 0.56 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/toric_lattice_element.pyx
    [80 tests, 0.28 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/toric_lattice.py
    [302 tests, 0.89 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/integral_points_integer_dense.pyx
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hasse_diagram.py
    [5 tests, 0.04 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/relative_interior.py
    [88 tests, 0.27 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/cone.py
    [1210 tests, 13.30 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/fan_isomorphism.py
    [65 tests, 1.40 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/riemannian_manifolds/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/riemannian_manifolds/parametrized_surface3d.py
    [294 tests, 7.28 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/riemannian_manifolds/surface3d_generators.py
    [30 tests, 2.83 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/ppl_lattice_polygon.py
    [81 tests, 0.81 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/misc.py
    [12 tests, 0.01 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/backend_number_field.py
    [29 tests, 2.32 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/backend_ppl.py
    [90 tests, 2.58 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/plot.py
    [250 tests, 4.54 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/library.py
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 2620, in sage.geometry.polyhedron.library.Polytopes.generalized_permutahedron
Warning: Variable 'perm_a3_011' referenced here was set only in doctest marked '# optional - sage.combinat'
    perm_a3_011
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 2623, in sage.geometry.polyhedron.library.Polytopes.generalized_permutahedron
Warning: Variable 'perm_a3_110' referenced here was set only in doctest marked '# optional - sage.combinat'
    perm_a3_110
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 2628, in sage.geometry.polyhedron.library.Polytopes.generalized_permutahedron
Warning: Variable 'perm_a3_101' referenced here was set only in doctest marked '# optional - sage.combinat'
    perm_a3_101
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 3251, in sage.geometry.polyhedron.library.Polytopes.hypercube
Warning: Variable 'P1' referenced here was set only in doctest marked '# optional - pplpy'
    assert P == P1
    [401 tests, 62.13 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/constructor.py
    [113 tests, 0.63 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base1.py
    [151 tests, 1.07 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/lattice_euclidean_group_element.py
    [27 tests, 0.09 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base5.py
    [382 tests, 3.52 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/double_description.py
    [116 tests, 0.18 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/parent.py
    [199 tests, 3.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base0.py
    [219 tests, 1.09 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base_mutable.py
    [57 tests, 2.08 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/ppl_lattice_polytope.py
**********************************************************************
File "src/sage/geometry/polyhedron/ppl_lattice_polytope.py", line 1056, in sage.geometry.polyhedron.ppl_lattice_polytope.LatticePolytope_PPL_class.lattice_automorphism_group
Warning: Variable 'G1' referenced here was set only in doctest marked '# optional - sage.graphs sage.groups'
    G1
    [177 tests, 1.91 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base_ZZ.py
    [76 tests, 1.51 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/cdd_file_format.py
    [10 tests, 0.02 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base7.py
**********************************************************************
File "src/sage/geometry/polyhedron/base7.py", line 575, in sage.geometry.polyhedron.base7.Polyhedron_base7.volume
Warning: Variable 'Dexact' referenced here was set only in doctest marked '# optional - sage.groups sage.rings.number_field'
    F0 = Dexact.faces(2)[0].as_polyhedron()
**********************************************************************
File "src/sage/geometry/polyhedron/base7.py", line 578, in sage.geometry.polyhedron.base7.Polyhedron_base7.volume
Warning: Variable 'Dexact' referenced here was set only in doctest marked '# optional - sage.groups sage.rings.number_field'
    F4 = Dexact.faces(2)[4].as_polyhedron()
**********************************************************************
File "src/sage/geometry/polyhedron/base7.py", line 585, in sage.geometry.polyhedron.base7.Polyhedron_base7.volume
Warning: Variable 'Dinexact' referenced here was set only in doctest marked '# optional - sage.groups'
    F2 = Dinexact.faces(2)[2].as_polyhedron()
**********************************************************************
File "src/sage/geometry/polyhedron/base7.py", line 587, in sage.geometry.polyhedron.base7.Polyhedron_base7.volume
Warning: Variable 'w' referenced here was set only in doctest marked '# optional - sage.groups'
    RDF(w)    # abs tol 1e-9
    [122 tests, 1.90 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base3.py
    [327 tests, 0.89 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/backend_normaliz.py
    [397 tests, 4.41 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base2.py
    [107 tests, 1.72 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base6.py
    [268 tests, 11.39 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/backend_cdd.py
    [33 tests, 1.51 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base_number_field.py
    [14 tests, 0.19 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base_QQ.py
    [137 tests, 1.41 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/backend_field.py
    [64 tests, 2.21 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/backend_polymake.py
    [9 tests, 0.34 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/representation.py
    [343 tests, 0.47 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/base.py
    [172 tests, 6.78 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/double_description_inhomogeneous.py
    [72 tests, 0.16 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/face.py
    [158 tests, 1.47 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd
    [0 tests, 0.01 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx
    [52 tests, 0.17 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx
    [228 tests, 0.55 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx
    [391 tests, 0.79 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
    [71 tests, 0.34 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx
    [655 tests, 1.18 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx
    [62 tests, 0.41 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/modules/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/polyhedron/modules/formal_polyhedra_module.py
    [44 tests, 0.12 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py
    [202 tests, 1.37 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py
    [135 tests, 0.57 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_interface.py
    [25 tests, 0.67 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_constants.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_point.py
    [112 tests, 1.77 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_model.py
    [234 tests, 1.16 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
    [447 tests, 3.80 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperplane_arrangement/arrangement.py
    [579 tests, 14.41 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperplane_arrangement/plot.py
    [59 tests, 4.61 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperplane_arrangement/library.py
    [88 tests, 1.87 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperplane_arrangement/hyperplane.py
    [145 tests, 0.74 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperplane_arrangement/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/hyperplane_arrangement/affine_subspace.py
    [93 tests, 0.08 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/data.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/all.py
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/element.py
    [116 tests, 2.05 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/triangulations.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/base.pyx
    [175 tests, 39.84 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/functions.pxd
    [0 tests, 0.00 s]
sage -t --long --warn-long 21.2 --random-seed=57525174775206557407670775913324884503 src/sage/geometry/triangulation/point_configuration.py
    [207 tests, 21.52 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 267.4 seconds
    cpu time: 209.0 seconds
    cumulative wall time: 264.1 seconds
Features detected for doctesting: numpy,palp,polytopes_db,pplpy,sage.combinat,sage.geometry.polyhedron,sage.graphs,sage.groups,sage.libs.pari,sage.plot,sage.rings.finite_rings,sage.rings.number_field,sage.rings.real_double,sage.rings.real_mpfr,sage.symbolic
pytest is not installed in the venv, skip checking tests that rely on it

@github-actions
Copy link

Documentation preview for this PR (built with commit efcf6f0; changes) is ready! 🎉

@jhpalmieri
Copy link
Member

There is an embarrassing issue here. When I run ./sage -t --long src/sage/geometry/, file src/sage/geometry/polyhedral_complex.py is not tested (see below). But I can test it using ./sage -t --long src/sage/geometry/polyhedral_complex.py. May be this is due to the first line of the file which is # sage.doctest: optional - sage.graphs.

I think this is addressed by #35749.

@dcoudert
Copy link
Contributor Author

Let me know if we can switch back this ticket to positive review. Thanks.

@dimpase
Copy link
Member

dimpase commented Jul 27, 2023

lgtm

@vbraun vbraun merged commit a48b7b8 into sagemath:develop Jul 30, 2023
dkrenn added a commit to dkrenn/sage that referenced this pull request Jul 31, 2023
* upstream/develop: (1372 commits)
  Updated SageMath version to 10.1.beta8
  remove multiple call of Vmatrix and Vmodule
  remove PGE and some listcomp
  get two entry directly
  tests passed
  Still permutation
  wip fix one issue
  fix
  fix typo
  store inverse of permutation
  Direct_Permute
  WIP PermutedMatrixWindow
  redundant line
  Style fixes
  PR sagemath#35891: fix issue in src/sage/geometry/polyhedral_complex.py
  fix merging problems
  add type checks for parameters
  PR sagemath#35956: fix typo
  PR sagemath#35956: fix doctests
  fix another issue
  ...
dkrenn added a commit to dkrenn/sage that referenced this pull request Aug 3, 2023
SageMath version 10.1.beta8, Release Date: 2023-07-30

* tag '10.1.beta8': (13890 commits)
  Updated SageMath version to 10.1.beta8
  remove multiple call of Vmatrix and Vmodule
  remove PGE and some listcomp
  get two entry directly
  tests passed
  Still permutation
  wip fix one issue
  fix
  fix typo
  store inverse of permutation
  Direct_Permute
  WIP PermutedMatrixWindow
  redundant line
  Style fixes
  PR sagemath#35891: fix issue in src/sage/geometry/polyhedral_complex.py
  fix merging problems
  add type checks for parameters
  PR sagemath#35956: fix typo
  PR sagemath#35956: fix doctests
  fix another issue
  ...
vbraun pushed a commit to vbraun/sage that referenced this pull request Jun 27, 2025
sagemathgh-40098: remove deprecation in `connected_components`
    
With issue sagemath#35889 and PR sagemath#35891 we have deprecate sorting by default in
connected component methods for graphs.

This PR removes the deprecation and sets the default value of parameter
`sort` to `False`. Hence, the vertices of a connected component are no
longer sorted by default.

We let unchanged the behavior of method `connected_components` of
returning the list of connected components sorted by non-increasing
size.


### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#40098
Reported by: David Coudert
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Jul 5, 2025
sagemathgh-40098: remove deprecation in `connected_components`
    
With issue sagemath#35889 and PR sagemath#35891 we have deprecate sorting by default in
connected component methods for graphs.

This PR removes the deprecation and sets the default value of parameter
`sort` to `False`. Hence, the vertices of a connected component are no
longer sorted by default.

We let unchanged the behavior of method `connected_components` of
returning the list of connected components sorted by non-increasing
size.


### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#40098
Reported by: David Coudert
Reviewer(s): Dima Pasechnik
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deprecate sorting by default in connected component methods to avoid type errors
5 participants