From c3f86e277cd00f3141b770593d953cdfedb62d9d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 27 Oct 2024 15:22:59 -0700 Subject: [PATCH] pkgs/sagemath-coxeter3: Add tox.ini etc. (from sagemath/sage#35095) --- .../known-test-failures.json | 165 ++++++++++++++++++ pkgs/sagemath-coxeter3/pyproject.toml.m4 | 9 + .../requirements-editable.txt.m4 | 3 + pkgs/sagemath-coxeter3/tox.ini | 105 +++++++++++ 4 files changed, 282 insertions(+) create mode 100644 pkgs/sagemath-coxeter3/known-test-failures.json create mode 100644 pkgs/sagemath-coxeter3/requirements-editable.txt.m4 create mode 100644 pkgs/sagemath-coxeter3/tox.ini diff --git a/pkgs/sagemath-coxeter3/known-test-failures.json b/pkgs/sagemath-coxeter3/known-test-failures.json new file mode 100644 index 00000000000..04ffe6b504a --- /dev/null +++ b/pkgs/sagemath-coxeter3/known-test-failures.json @@ -0,0 +1,165 @@ +{ + "sage.algebras.iwahori_hecke_algebra": { + "failed": true, + "ntests": 679 + }, + "sage.categories.coxeter_groups": { + "ntests": 200 + }, + "sage.combinat.kazhdan_lusztig": { + "failed": true, + "ntests": 26 + }, + "sage.combinat.root_system.ambient_space": { + "ntests": 78 + }, + "sage.combinat.root_system.braid_orbit": { + "ntests": 11 + }, + "sage.combinat.root_system.cartan_matrix": { + "failed": true, + "ntests": 166 + }, + "sage.combinat.root_system.cartan_type": { + "failed": true, + "ntests": 456 + }, + "sage.combinat.root_system.coxeter_matrix": { + "failed": true, + "ntests": 177 + }, + "sage.combinat.root_system.coxeter_type": { + "ntests": 81 + }, + "sage.combinat.root_system.dynkin_diagram": { + "failed": true, + "ntests": 143 + }, + "sage.combinat.root_system.integrable_representations": { + "failed": true, + "ntests": 141 + }, + "sage.combinat.root_system.non_symmetric_macdonald_polynomials": { + "failed": true, + "ntests": 491 + }, + "sage.combinat.root_system.reflection_group_c": { + "failed": true, + "ntests": 41 + }, + "sage.combinat.root_system.reflection_group_element": { + "ntests": 19 + }, + "sage.combinat.root_system.root_lattice_realization_algebras": { + "failed": true, + "ntests": 303 + }, + "sage.combinat.root_system.root_lattice_realizations": { + "failed": true, + "ntests": 545 + }, + "sage.combinat.root_system.root_space": { + "failed": true, + "ntests": 78 + }, + "sage.combinat.root_system.root_system": { + "failed": true, + "ntests": 122 + }, + "sage.combinat.root_system.type_A": { + "ntests": 48 + }, + "sage.combinat.root_system.type_A_affine": { + "ntests": 29 + }, + "sage.combinat.root_system.type_A_infinity": { + "ntests": 37 + }, + "sage.combinat.root_system.type_B": { + "ntests": 39 + }, + "sage.combinat.root_system.type_BC_affine": { + "ntests": 41 + }, + "sage.combinat.root_system.type_B_affine": { + "ntests": 26 + }, + "sage.combinat.root_system.type_C": { + "ntests": 40 + }, + "sage.combinat.root_system.type_C_affine": { + "ntests": 22 + }, + "sage.combinat.root_system.type_D": { + "ntests": 41 + }, + "sage.combinat.root_system.type_D_affine": { + "ntests": 22 + }, + "sage.combinat.root_system.type_E": { + "ntests": 52 + }, + "sage.combinat.root_system.type_E_affine": { + "ntests": 23 + }, + "sage.combinat.root_system.type_F": { + "ntests": 39 + }, + "sage.combinat.root_system.type_F_affine": { + "ntests": 18 + }, + "sage.combinat.root_system.type_G": { + "ntests": 34 + }, + "sage.combinat.root_system.type_G_affine": { + "ntests": 18 + }, + "sage.combinat.root_system.type_H": { + "ntests": 21 + }, + "sage.combinat.root_system.type_I": { + "ntests": 20 + }, + "sage.combinat.root_system.type_Q": { + "ntests": 25 + }, + "sage.combinat.root_system.type_affine": { + "failed": true, + "ntests": 72 + }, + "sage.combinat.root_system.type_dual": { + "ntests": 126 + }, + "sage.combinat.root_system.type_folded": { + "ntests": 38 + }, + "sage.combinat.root_system.type_marked": { + "failed": true, + "ntests": 119 + }, + "sage.combinat.root_system.type_reducible": { + "ntests": 82 + }, + "sage.combinat.root_system.type_relabel": { + "failed": true, + "ntests": 135 + }, + "sage.combinat.root_system.type_super_A": { + "ntests": 127 + }, + "sage.combinat.root_system.weight_lattice_realizations": { + "failed": true, + "ntests": 181 + }, + "sage.combinat.root_system.weight_space": { + "failed": true, + "ntests": 92 + }, + "sage.libs.coxeter3.coxeter": { + "ntests": 254 + }, + "sage.libs.coxeter3.coxeter_group": { + "failed": true, + "ntests": 141 + } +} \ No newline at end of file diff --git a/pkgs/sagemath-coxeter3/pyproject.toml.m4 b/pkgs/sagemath-coxeter3/pyproject.toml.m4 index 11327d047e5..2f29a183f2b 100644 --- a/pkgs/sagemath-coxeter3/pyproject.toml.m4 +++ b/pkgs/sagemath-coxeter3/pyproject.toml.m4 @@ -23,6 +23,15 @@ include(`pyproject_toml_metadata.m4')dnl' file = "README.rst" content-type = "text/x-rst" +[project.optional-dependencies] +test = [ + SPKG_INSTALL_REQUIRES_sagemath_repl + SPKG_INSTALL_REQUIRES_sagemath_combinat + SPKG_INSTALL_REQUIRES_sagemath_graphs + SPKG_INSTALL_REQUIRES_sagemath_groups + SPKG_INSTALL_REQUIRES_sagemath_modules +] + [tool.setuptools] packages = ["sage.libs.coxeter3"] include-package-data = false diff --git a/pkgs/sagemath-coxeter3/requirements-editable.txt.m4 b/pkgs/sagemath-coxeter3/requirements-editable.txt.m4 new file mode 100644 index 00000000000..1d909c00118 --- /dev/null +++ b/pkgs/sagemath-coxeter3/requirements-editable.txt.m4 @@ -0,0 +1,3 @@ +include(`sage_spkg_versions.m4')dnl +dnl Same as setup.cfg.m4 install_requires; FIXME: should pin to built wheels. +SPKG_INSTALL_REQUIRES_cysignals diff --git a/pkgs/sagemath-coxeter3/tox.ini b/pkgs/sagemath-coxeter3/tox.ini new file mode 100644 index 00000000000..7b759aed886 --- /dev/null +++ b/pkgs/sagemath-coxeter3/tox.ini @@ -0,0 +1,105 @@ +# To build and test in the tox environment: +# +# make SAGE_WHEELS=yes sagemath_coxeter3-build-deps && ./sage -sh -c '(cd pkgs/sagemath-coxeter3 && SAGE_NUM_THREADS=8 tox -v -v -v -e sagepython-sagewheels-nopypi-norequirements)' +# +# After this, to test interactively: +# +# pkgs/sagemath-coxeter3/.tox/sagepython-sagewheels-nopypi-norequirements/bin/sage +# +[tox] +envlist = + sagepython-sagewheels-nopypi-norequirements + +requires = + # Auto-provision a modern tox. + # [pkgenv] added in 4.2 - https://tox.wiki/en/latest/upgrading.html#packaging-configuration-and-inheritance + tox>=4.2 + +[pkgenv] +# Environment in which to build the sdist. +# https://tox.wiki/en/latest/upgrading.html#packaging-environments +passenv = + # Variables set by .homebrew-build-env + CPATH + LIBRARY_PATH + PKG_CONFIG_PATH + # Parallel build + SAGE_NUM_THREADS + SAGE_NUM_THREADS_PARALLEL + # SAGE_VENV only for referring to the basepython or finding the wheels + sagepython, sagewheels: SAGE_VENV + # Location of the wheels + sagewheels: SAGE_SPKG_WHEELS + +setenv = + # We supply pip options by environment variables so that they + # apply both to the installation of the dependencies and of the package + sagewheels: PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels} + nopypi: PIP_NO_INDEX=true + +[testenv] +deps = + !norequirements: -rrequirements.txt + +extras = test + +passenv = {[pkgenv]passenv} + +setenv = {[pkgenv]setenv} + # Sage scripts such as sage-runtests like to use $HOME/.sage + HOME={envdir} + # Stop 'sage -t --installed' from picking up doc installed in SAGE_LOCAL + SAGE_DOC=/doesnotexist + # Env factors for testing with extras + +allowlist_externals = + bash + +commands = + # Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package. + python -c 'import sys; "" in sys.path and sys.path.remove(""); import sage.libs.coxeter3.coxeter' + + bash -c 'cd $(python -c "import sys; \"\" in sys.path and sys.path.remove(\"\"); from sage.env import SAGE_LIB; print(SAGE_LIB)") \ + && sage-runtests -p --force-lib --initial --environment=sage.all__sagemath_combinat --baseline-stats-path={toxinidir}/known-test-failures.json {posargs:sage/algebras/iwahori_hecke_algebra.py sage/categories/coxeter_groups.py sage/combinat/kazhdan_lusztig.py sage/combinat/root_system sage/libs/coxeter3}' + +[testenv:.tox] +# Allow access to PyPI for auto-provisioning a suitable tox version +passenv = +setenv = PIP_NO_INDEX=false + +[testenv:.pkg-sagepython] +# Environment in which to build the sdist. +# inherits from [pkgenv] - https://tox.wiki/en/latest/upgrading.html#packaging-environments +basepython = {env:SAGE_VENV}/bin/python3 + +[testenv:.pkg-sagepython-sagewheels-nopypi] +passenv = {[pkgenv]passenv} + SAGE_VENV + SAGE_SPKG_WHEELS + +setenv = {[pkgenv]setenv} + PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels} + PIP_NO_INDEX=true + +basepython = {env:SAGE_VENV}/bin/python3 + +[testenv:sagepython] +basepython = {env:SAGE_VENV}/bin/python3 +package_env = .pkg-sagepython + +[testenv:sagepython-sagewheels-nopypi] +basepython = {env:SAGE_VENV}/bin/python3 +package_env = .pkg-sagepython-sagewheels-nopypi + +[testenv:sagepython-sagewheels] +basepython = {env:SAGE_VENV}/bin/python +package_env = .pkg-sagepython + +[testenv:sagepython-norequirements] +basepython = {env:SAGE_VENV}/bin/python3 +package_env = .pkg-sagepython + + +[testenv:sagepython-sagewheels-nopypi-norequirements] +basepython = {env:SAGE_VENV}/bin/python3 +package_env = .pkg-sagepython-sagewheels-nopypi