Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sage
Path: blob/develop/pkgs/sagemath-categories/tox.ini
4081 views
1
# To build and test in the tox environment:
2
#
3
# 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)'
4
#
5
# After this, to test interactively:
6
#
7
# pkgs/sagemath-categories/.tox/sagepython-sagewheels-nopypi-norequirements/bin/sage
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.cpython.builtin_types, sage.cpython.cython_metaclass, sage.cpython.debug, sage.structure.all, sage.categories.all'
66
67
# Test that importing sage.categories.all initializes categories
68
{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); from sage.categories.all import *; SimplicialComplexes(); FunctionFields()'
69
70
bash -c 'cd $(python -c "import sys; \"\" in sys.path and sys.path.remove(\"\"); from sage.env import SAGE_LIB; print(SAGE_LIB)") \
71
&& sage-runtests -p --force-lib --initial --environment=sage.all__sagemath_categories --probe all --baseline-stats-path=$KNOWN_TEST_FAILURES --optional=sage --installed'
72
73
[testenv:.tox]
74
# Allow access to PyPI for auto-provisioning a suitable tox version
75
passenv =
76
setenv = PIP_NO_INDEX=false
77
78
[testenv:.pkg-sagepython]
79
# Environment in which to build the sdist.
80
# inherits from [pkgenv] - https://tox.wiki/en/latest/upgrading.html#packaging-environments
81
basepython = {env:SAGE_VENV}/bin/python3
82
83
[testenv:.pkg-sagepython-sagewheels-nopypi]
84
passenv = {[pkgenv]passenv}
85
SAGE_VENV
86
SAGE_SPKG_WHEELS
87
88
setenv = {[pkgenv]setenv}
89
PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}
90
PIP_NO_INDEX=true
91
92
basepython = {env:SAGE_VENV}/bin/python3
93
94
[testenv:.pkg-sagepython-sagewheels-nopypi-editable]
95
config_settings_build_editable =
96
editable_mode = strict
97
98
99
[testenv:sagepython]
100
basepython = {env:SAGE_VENV}/bin/python3
101
package_env = .pkg-sagepython
102
103
[testenv:sagepython-sagewheels-nopypi]
104
basepython = {env:SAGE_VENV}/bin/python3
105
package_env = .pkg-sagepython-sagewheels-nopypi
106
107
[testenv:sagepython-sagewheels]
108
basepython = {env:SAGE_VENV}/bin/python
109
package_env = .pkg-sagepython
110
111
[testenv:sagepython-norequirements]
112
basepython = {env:SAGE_VENV}/bin/python3
113
package_env = .pkg-sagepython
114
115
116
[testenv:sagepython-sagewheels-nopypi-norequirements]
117
basepython = {env:SAGE_VENV}/bin/python3
118
package_env = .pkg-sagepython-sagewheels-nopypi
119
120
[testenv:sagepython-sagewheels-nopypi-editable]
121
basepython = {env:SAGE_VENV}/bin/python3
122
package_env = .pkg-sagepython-sagewheels-nopypi-editable
123
package = editable
124
deps = -r requirements-editable.txt
125
config_settings_build_editable =
126
editable_mode = strict
127
128