-
Notifications
You must be signed in to change notification settings - Fork 92
/
tox.ini
110 lines (101 loc) · 2.09 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
# 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
pypy3
docs
coverage
py310-pure
[testenv]
usedevelop = true
package = wheel
wheel_build_env = .pkg
deps =
setenv =
ZOPE_INTERFACE_STRICT_IRO=1
py312: VIRTUALENV_PIP=23.1.2
py312: PIP_REQUIRE_VIRTUALENV=0
commands =
zope-testrunner --test-path=src -a 1000 {posargs:-vc}
extras =
test
[testenv:py310-pure]
basepython = python3.10
setenv =
PURE_PYTHON = 1
[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_pre =
commands =
check-manifest
check-python-versions --only setup.py,tox.ini,.github/workflows/tests.yml
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
flake8 src setup.py
[testenv:isort-apply]
basepython = python3
skip_install = true
commands_pre =
deps =
isort
commands =
isort {toxinidir}/src {toxinidir}/setup.py []
[testenv:docs]
basepython = python3
skip_install = false
extras =
docs
commands_pre =
commands =
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
[testenv:coverage]
basepython = python3
allowlist_externals =
mkdir
deps =
coverage
commands =
mkdir -p {toxinidir}/parts/htmlcov
coverage run -m zope.testrunner --test-path=src {posargs:-vc}
coverage html --ignore-errors
coverage report --ignore-errors --show-missing --fail-under=80
[coverage:run]
branch = True
source = ZODB
[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