Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sage
Path: blob/develop/pkgs/sagemath-environment/tox.ini
4081 views
1
# To build and test in the tox environment:
2
#
3
# ./sage -sh -c '(cd pkgs/sagemath-environment && tox -v -v -e sagepython-norequirements)'
4
#
5
# To test interactively:
6
#
7
# pkgs/sagemath-environment/.tox/sagepython-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
58
allowlist_externals =
59
bash
60
61
commands =
62
# Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package.
63
{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); from sage.features.all import all_features; print(sorted(all_features(), key=lambda x: x.name)); import sage.misc.package'
64
65
[testenv:.tox]
66
# Allow access to PyPI for auto-provisioning a suitable tox version
67
passenv =
68
setenv = PIP_NO_INDEX=false
69
70
[testenv:.pkg-sagepython]
71
# Environment in which to build the sdist.
72
# inherits from [pkgenv] - https://tox.wiki/en/latest/upgrading.html#packaging-environments
73
basepython = {env:SAGE_VENV}/bin/python3
74
75
[testenv:.pkg-sagepython-sagewheels-nopypi]
76
passenv = {[pkgenv]passenv}
77
SAGE_VENV
78
SAGE_SPKG_WHEELS
79
80
setenv = {[pkgenv]setenv}
81
PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}
82
PIP_NO_INDEX=true
83
84
basepython = {env:SAGE_VENV}/bin/python3
85
86
[testenv:.pkg-sagepython-sagewheels-nopypi-editable]
87
config_settings_build_editable =
88
editable_mode = strict
89
90
91
[testenv:sagepython]
92
basepython = {env:SAGE_VENV}/bin/python3
93
package_env = .pkg-sagepython
94
95
[testenv:sagepython-sagewheels-nopypi]
96
basepython = {env:SAGE_VENV}/bin/python3
97
package_env = .pkg-sagepython-sagewheels-nopypi
98
99
[testenv:sagepython-sagewheels]
100
basepython = {env:SAGE_VENV}/bin/python
101
package_env = .pkg-sagepython
102
103
[testenv:sagepython-norequirements]
104
basepython = {env:SAGE_VENV}/bin/python3
105
package_env = .pkg-sagepython
106
107
108
[testenv:sagepython-sagewheels-nopypi-norequirements]
109
basepython = {env:SAGE_VENV}/bin/python3
110
package_env = .pkg-sagepython-sagewheels-nopypi
111
112
[testenv:sagepython-sagewheels-nopypi-editable]
113
basepython = {env:SAGE_VENV}/bin/python3
114
package_env = .pkg-sagepython-sagewheels-nopypi-editable
115
package = editable
116
deps = -r requirements-editable.txt
117
config_settings_build_editable =
118
editable_mode = strict
119
120