Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sage
Path: blob/develop/pkgs/sagemath-repl/tox.ini
4054 views
1
# To build and test in the tox environment:
2
#
3
# 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)'
4
#
5
# After this, to test interactively:
6
#
7
# pkgs/sagemath-repl/.tox/sagepython-sagewheels-nopypi-norequirements/bin/python
8
#
9
[tox]
10
envlist =
11
sagepython-sagewheels-nopypi-norequirements
12
13
requires =
14
# Auto-provision a modern tox.
15
# [pkgenv] added in 4.2 - https://tox.wiki/en/latest/upgrading.html#packaging-configuration-and-inheritance
16
# Because of https://github.com/tox-dev/tox/issues/3238, need <4.14.1
17
tox>=4.2
18
tox<4.14.1
19
20
[pkgenv]
21
# Environment in which to build the sdist.
22
# https://tox.wiki/en/latest/upgrading.html#packaging-environments
23
passenv =
24
# Variables set by .homebrew-build-env
25
CPATH
26
LIBRARY_PATH
27
PKG_CONFIG_PATH
28
# Parallel build
29
SAGE_NUM_THREADS
30
SAGE_NUM_THREADS_PARALLEL
31
MAKEFLAGS
32
# SAGE_VENV only for referring to the basepython or finding the wheels
33
sagepython, sagewheels: SAGE_VENV
34
# Location of the wheels
35
sagewheels: SAGE_SPKG_WHEELS
36
37
setenv =
38
# We supply pip options by environment variables so that they
39
# apply both to the installation of the dependencies and of the package
40
sagewheels: PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}
41
nopypi: PIP_NO_INDEX=true
42
43
[testenv]
44
deps =
45
!norequirements: -rrequirements.txt
46
47
extras = test
48
49
passenv = {[pkgenv]passenv}
50
51
setenv = {[pkgenv]setenv}
52
# Sage scripts such as sage-runtests like to use $HOME/.sage
53
HOME={envdir}
54
# Stop 'sage -t --installed' from picking up doc installed in SAGE_LOCAL
55
SAGE_DOC=/doesnotexist
56
KNOWN_TEST_FAILURES={toxinidir}/known-test-failures.json
57
# See src/bin/sage-env
58
PYDEVD_DISABLE_FILE_VALIDATION=1
59
60
allowlist_externals =
61
bash
62
63
commands =
64
# Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package.
65
{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); import sage.repl.all; import sage.doctest.all'
66
67
bash -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'
68
69
[testenv:.tox]
70
# Allow access to PyPI for auto-provisioning a suitable tox version
71
passenv =
72
setenv = PIP_NO_INDEX=false
73
74
[testenv:.pkg-sagepython]
75
# Environment in which to build the sdist.
76
# inherits from [pkgenv] - https://tox.wiki/en/latest/upgrading.html#packaging-environments
77
basepython = {env:SAGE_VENV}/bin/python3
78
79
[testenv:.pkg-sagepython-sagewheels-nopypi]
80
passenv = {[pkgenv]passenv}
81
SAGE_VENV
82
SAGE_SPKG_WHEELS
83
84
setenv = {[pkgenv]setenv}
85
PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}
86
PIP_NO_INDEX=true
87
88
basepython = {env:SAGE_VENV}/bin/python3
89
90
[testenv:.pkg-sagepython-sagewheels-nopypi-editable]
91
config_settings_build_editable =
92
editable_mode = strict
93
94
95
[testenv:sagepython]
96
basepython = {env:SAGE_VENV}/bin/python3
97
package_env = .pkg-sagepython
98
99
[testenv:sagepython-sagewheels-nopypi]
100
basepython = {env:SAGE_VENV}/bin/python3
101
package_env = .pkg-sagepython-sagewheels-nopypi
102
103
[testenv:sagepython-sagewheels]
104
basepython = {env:SAGE_VENV}/bin/python
105
package_env = .pkg-sagepython
106
107
[testenv:sagepython-norequirements]
108
basepython = {env:SAGE_VENV}/bin/python3
109
package_env = .pkg-sagepython
110
111
112
[testenv:sagepython-sagewheels-nopypi-norequirements]
113
basepython = {env:SAGE_VENV}/bin/python3
114
package_env = .pkg-sagepython-sagewheels-nopypi
115
116
[testenv:sagepython-sagewheels-nopypi-editable]
117
basepython = {env:SAGE_VENV}/bin/python3
118
package_env = .pkg-sagepython-sagewheels-nopypi-editable
119
package = editable
120
deps = -r requirements-editable.txt
121
config_settings_build_editable =
122
editable_mode = strict
123
124