# To build and test in the tox environment:1#2# make SAGE_WHEELS=yes sagemath_repl-build-deps && ./sage -sh -c '(cd pkgs/sagemath-repl && SAGE_NUM_THREADS=8 tox -v -v -e sagepython-sagewheels-nopypi-norequirements)'3#4# After this, to test interactively:5#6# pkgs/sagemath-repl/.tox/sagepython-sagewheels-nopypi-norequirements/bin/python7#8[tox]9envlist =10sagepython-sagewheels-nopypi-norequirements1112requires =13# Auto-provision a modern tox.14# [pkgenv] added in 4.2 - https://tox.wiki/en/latest/upgrading.html#packaging-configuration-and-inheritance15# Because of https://github.com/tox-dev/tox/issues/3238, need <4.14.116tox>=4.217tox<4.14.11819[pkgenv]20# Environment in which to build the sdist.21# https://tox.wiki/en/latest/upgrading.html#packaging-environments22passenv =23# Variables set by .homebrew-build-env24CPATH25LIBRARY_PATH26PKG_CONFIG_PATH27# Parallel build28SAGE_NUM_THREADS29SAGE_NUM_THREADS_PARALLEL30MAKEFLAGS31# SAGE_VENV only for referring to the basepython or finding the wheels32sagepython, sagewheels: SAGE_VENV33# Location of the wheels34sagewheels: SAGE_SPKG_WHEELS3536setenv =37# We supply pip options by environment variables so that they38# apply both to the installation of the dependencies and of the package39sagewheels: PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}40nopypi: PIP_NO_INDEX=true4142[testenv]43deps =44!norequirements: -rrequirements.txt4546extras = test4748passenv = {[pkgenv]passenv}4950setenv = {[pkgenv]setenv}51# Sage scripts such as sage-runtests like to use $HOME/.sage52HOME={envdir}53# Stop 'sage -t --installed' from picking up doc installed in SAGE_LOCAL54SAGE_DOC=/doesnotexist55KNOWN_TEST_FAILURES={toxinidir}/known-test-failures.json56# See src/bin/sage-env57PYDEVD_DISABLE_FILE_VALIDATION=15859allowlist_externals =60bash6162commands =63# Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package.64{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); import sage.repl.all; import sage.doctest.all'6566bash -c 'cd $({envpython} -c "import sys; \"\" in sys.path and sys.path.remove(\"\"); from sage.env import SAGE_LIB; print(SAGE_LIB)") && sage-runtests -p --environment=sage.all__sagemath_repl --baseline-stats-path=$KNOWN_TEST_FAILURES --initial --optional=sage sage/repl sage/doctest sage/misc/sage_input.py sage/misc/sage_eval.py'6768[testenv:.tox]69# Allow access to PyPI for auto-provisioning a suitable tox version70passenv =71setenv = PIP_NO_INDEX=false7273[testenv:.pkg-sagepython]74# Environment in which to build the sdist.75# inherits from [pkgenv] - https://tox.wiki/en/latest/upgrading.html#packaging-environments76basepython = {env:SAGE_VENV}/bin/python37778[testenv:.pkg-sagepython-sagewheels-nopypi]79passenv = {[pkgenv]passenv}80SAGE_VENV81SAGE_SPKG_WHEELS8283setenv = {[pkgenv]setenv}84PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}85PIP_NO_INDEX=true8687basepython = {env:SAGE_VENV}/bin/python38889[testenv:.pkg-sagepython-sagewheels-nopypi-editable]90config_settings_build_editable =91editable_mode = strict929394[testenv:sagepython]95basepython = {env:SAGE_VENV}/bin/python396package_env = .pkg-sagepython9798[testenv:sagepython-sagewheels-nopypi]99basepython = {env:SAGE_VENV}/bin/python3100package_env = .pkg-sagepython-sagewheels-nopypi101102[testenv:sagepython-sagewheels]103basepython = {env:SAGE_VENV}/bin/python104package_env = .pkg-sagepython105106[testenv:sagepython-norequirements]107basepython = {env:SAGE_VENV}/bin/python3108package_env = .pkg-sagepython109110111[testenv:sagepython-sagewheels-nopypi-norequirements]112basepython = {env:SAGE_VENV}/bin/python3113package_env = .pkg-sagepython-sagewheels-nopypi114115[testenv:sagepython-sagewheels-nopypi-editable]116basepython = {env:SAGE_VENV}/bin/python3117package_env = .pkg-sagepython-sagewheels-nopypi-editable118package = editable119deps = -r requirements-editable.txt120config_settings_build_editable =121editable_mode = strict122123124