-
Notifications
You must be signed in to change notification settings - Fork 211
/
tox.ini
101 lines (92 loc) · 2.56 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
[testenv:bootstrap]
deps =
jinja2
tox
skip_install = true
commands =
python ci/bootstrap.py --no-env
passenv =
*
; a generative tox configuration, see: https://tox.wiki/en/latest/user_guide.html#generative-environments
[tox]
envlist =
clean,
check,
docs,
{py39,py310,py311,py312,pypy39,pypy310}-{pytest83}-{xdist36}-{coverage76},
report
ignore_basepython_conflict = true
[testenv]
basepython =
pypy38: {env:TOXPYTHON:pypy3.8}
pypy39: {env:TOXPYTHON:pypy3.9}
pypy310: {env:TOXPYTHON:pypy3.10}
py38: {env:TOXPYTHON:python3.8}
py39: {env:TOXPYTHON:python3.9}
py310: {env:TOXPYTHON:python3.10}
py311: {env:TOXPYTHON:python3.11}
py312: {env:TOXPYTHON:python3.12}
{bootstrap,clean,check,report,docs}: {env:TOXPYTHON:python3}
extras = testing
setenv =
PYTHONPATH={toxinidir}/tests
PYTHONUNBUFFERED=yes
# Use env vars for (optional) pinning of deps.
pytest80: _DEP_PYTEST=pytest==8.0.2
pytest81: _DEP_PYTEST=pytest==8.1.1
pytest82: _DEP_PYTEST=pytest==8.2.2
pytest83: _DEP_PYTEST=pytest==8.3.3
xdist32: _DEP_PYTESTXDIST=pytest-xdist==3.2.0
xdist33: _DEP_PYTESTXDIST=pytest-xdist==3.3.1
xdist34: _DEP_PYTESTXDIST=pytest-xdist==3.4.0
xdist35: _DEP_PYTESTXDIST=pytest-xdist==3.5.0
xdist36: _DEP_PYTESTXDIST=pytest-xdist==3.6.1
xdistdev: _DEP_PYTESTXDIST=git+https://github.com/pytest-dev/pytest-xdist.git#egg=pytest-xdist
coverage72: _DEP_COVERAGE=coverage==7.2.7
coverage73: _DEP_COVERAGE=coverage==7.3.4
coverage74: _DEP_COVERAGE=coverage==7.4.4
coverage75: _DEP_COVERAGE=coverage==7.5.4
coverage76: _DEP_COVERAGE=coverage==7.6.4
# For testing against a coverage.py working tree.
coveragedev: _DEP_COVERAGE=-e{env:COVERAGE_HOME}
passenv =
*
deps =
{env:_DEP_PYTEST:pytest}
{env:_DEP_PYTESTXDIST:pytest-xdist}
{env:_DEP_COVERAGE:coverage}
pip_pre = true
commands =
{posargs:pytest -vv}
[testenv:check]
deps =
docutils
check-manifest
pre-commit
readme-renderer
pygments
isort
skip_install = true
commands =
python setup.py check --strict --metadata --restructuredtext
check-manifest .
pre-commit run --all-files --show-diff-on-failure
[testenv:docs]
usedevelop = true
deps =
-r{toxinidir}/docs/requirements.txt
commands =
sphinx-build {posargs:-E} -b html docs dist/docs
sphinx-build -b linkcheck docs dist/docs
[testenv:report]
deps =
coverage
skip_install = true
commands =
coverage report
coverage html
[testenv:clean]
commands = coverage erase
skip_install = true
deps =
coverage