-
-
Notifications
You must be signed in to change notification settings - Fork 571
/
Copy pathtox.ini
126 lines (101 loc) · 4.83 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# To build and test in the tox environment:
#
# make SAGE_WHEELS=yes sagemath_categories-build-deps sagemath_repl && ./sage -sh -c '(cd pkgs/sagemath-categories && SAGE_NUM_THREADS=8 tox -v -v -v -e sagepython-sagewheels-nopypi-norequirements)'
#
# After this, to test interactively:
#
# pkgs/sagemath-categories/.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
# Because of https://github.com/tox-dev/tox/issues/3238, need <4.14.1
tox>=4.2
tox<4.14.1
[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
MAKEFLAGS
# 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
KNOWN_TEST_FAILURES={toxinidir}/known-test-failures.json
# See src/bin/sage-env
PYDEVD_DISABLE_FILE_VALIDATION=1
allowlist_externals =
bash
commands =
# Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package.
{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); import sage.cpython.builtin_types, sage.cpython.cython_metaclass, sage.cpython.debug, sage.structure.all, sage.categories.all'
# Test that importing sage.categories.all initializes categories
{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); from sage.categories.all import *; SimplicialComplexes(); FunctionFields()'
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_categories --probe all --baseline-stats-path=$KNOWN_TEST_FAILURES --optional=sage --installed'
[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:.pkg-sagepython-sagewheels-nopypi-editable]
config_settings_build_editable =
editable_mode = strict
[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
[testenv:sagepython-sagewheels-nopypi-editable]
basepython = {env:SAGE_VENV}/bin/python3
package_env = .pkg-sagepython-sagewheels-nopypi-editable
package = editable
deps = -r requirements-editable.txt
config_settings_build_editable =
editable_mode = strict