-
Notifications
You must be signed in to change notification settings - Fork 38
/
tox.ini
136 lines (127 loc) · 2.85 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
127
128
129
130
131
132
133
134
135
136
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
[tox]
minversion = 3.18
envlist =
release-check
lint
py37
py38
py39
py310
py311
py312
py313
docs
coverage
py39-datetime
combined-coverage
[testenv]
usedevelop = true
package = wheel
wheel_build_env = .pkg
pip_pre = py313: true
deps =
datetime: DateTime
-cconstraints.txt
pytest-cov
Sphinx
setenv =
COVERAGE_FILE=.coverage.{envname}
py312: VIRTUALENV_PIP=23.1.2
py312: PIP_REQUIRE_VIRTUALENV=0
commands =
python -V
pytest --cov=src --cov=tests --cov-report= {posargs}
sphinx-build -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest
extras =
test
docs
[testenv:combined-coverage]
basepython = python3
allowlist_externals =
mkdir
deps =
coverage
-cconstraints.txt
setenv =
COVERAGE_FILE=.coverage
commands =
mkdir -p {toxinidir}/parts/htmlcov
coverage erase
coverage combine
coverage html
coverage report -m --fail-under=100
depends = py37,py38,py39,py39-datetime,py310,py311,py312,coverage
[testenv:release-check]
description = ensure that the distribution is ready to release
basepython = python3
skip_install = true
deps =
twine
build
check-manifest
check-python-versions >= 0.20.0
wheel
commands =
check-manifest
check-python-versions
python -m build --sdist --no-isolation
twine check dist/*
[testenv:lint]
basepython = python3
skip_install = true
deps =
isort
flake8
commands =
isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py {toxinidir}/tests
flake8 src setup.py tests
[testenv:isort-apply]
basepython = python3
skip_install = true
commands_pre =
deps =
isort
commands =
isort {toxinidir}/src {toxinidir}/setup.py {toxinidir}/tests []
[testenv:docs]
basepython = python3
skip_install = false
commands_pre =
commands =
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest
[testenv:coverage]
basepython = python3.8
allowlist_externals =
mkdir
deps =
coverage
datetime: DateTime
-cconstraints.txt
pytest-cov
Sphinx
setenv =
COVERAGE_FILE=.coverage
commands =
mkdir -p {toxinidir}/parts/htmlcov
pytest --cov=src --cov=tests --cov-report= {posargs}
coverage run -a -m sphinx -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest
coverage html --ignore-errors
coverage report --ignore-errors --show-missing --fail-under=98.4
[coverage:run]
branch = True
source = RestrictedPython
[coverage:report]
precision = 2
exclude_lines =
pragma: no cover
pragma: nocover
except ImportError:
raise NotImplementedError
if __name__ == '__main__':
self.fail
raise AssertionError
[coverage:html]
directory = parts/htmlcov