This repository was archived by the owner on May 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtox.ini
131 lines (120 loc) · 3.36 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
[tox]
minversion = 3.7
isolated_build = true
skip_missing_interpreters = true
envlist =
fix_lint
py27
py35
py36
py37
py38
pypy
pypy3
package_description
docs
coverage
[testenv]
description = run test suite under {basepython}
setenv = PIP_DISABLE_VERSION_CHECK = 1
COVERAGE_FILE = {env:COVERAGE_FILE:{toxworkdir}/.coverage.{envname}}
passenv =
http_proxy
https_proxy
no_proxy
SSL_CERT_FILE
PYTEST_*
HOME
deps =
pip >= 19.1.1
extras = testing
commands = pytest \
--cov "{envsitepackagesdir}/tox_external_wheels" \
--cov-config "{toxinidir}/tox.ini" \
--junitxml {toxworkdir}/junit.{envname}.xml \
-n={env:PYTEST_XDIST_PROC_NR:auto} \
{posargs:tests}
[pytest]
addopts = -ra --showlocals
junit_family=legacy
markers =
negative
[testenv:coverage]
description = [run locally after tests]: combine coverage data and create report;
generates a diff coverage against origin/master (can be changed by setting DIFF_AGAINST env var)
deps = {[testenv]deps}
coverage >= 5, < 6
diff_cover
skip_install = True
passenv =
{[testenv]passenv}
DIFF_AGAINST
setenv = COVERAGE_FILE={toxworkdir}/.coverage
commands = coverage combine
coverage report -m
coverage xml -o {toxworkdir}/coverage.xml
coverage html -d {toxworkdir}/htmlcov
diff-cover --compare-branch {env:DIFF_AGAINST:origin/master} {toxworkdir}/coverage.xml
depends =
py27
py34
py35
py36
py37
py38
pypy
pypy3
parallel_show_output = True
[coverage:run]
branch = true
parallel = true
[coverage:report]
skip_covered = False
show_missing = True
[coverage:paths]
source = src/tox_external_wheels
*/.tox/*/lib/python*/site-packages/tox_external_wheels
*/.tox/pypy*/site-packages/tox_external_wheels
*/.tox\*\Lib\site-packages\tox_external_wheels
*/src/tox_external_wheels
*\src\tox_external_wheels
[testenv:fix_lint]
extras =
description = format the code base to adhere to our styles, and complain about what we cannot do automatically
passenv =
PROGRAMDATA
deps =
{[testenv]deps}
pre-commit
skip_install = True
commands = pre-commit run --all-files --show-diff-on-failure
python -c 'import pathlib; print("hint: run \{\} install to add checks as pre-commit hook".format(pathlib.Path(r"{envdir}") / "bin" / "pre-commit"))'
[flake8]
max-line-length = 99
[isort]
multi_line_output = 3
include_trailing_comma = True
force_grid_wrap = 0
line_length = 99
known_first_party = tox_external_wheels,tests
known_third_party = pluggy,pytest,setuptools,sphinx_rtd_theme,tox
[testenv:docs]
description = invoke sphinx-build to build the HTML docs
extras = docs
commands =python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "docs_out" / "index.html"))'
[testenv:package_description]
description = check that the long description is valid
deps =
{[testenv]deps}
twine >= 1.12.1
readme-renderer[md] >= 24.0
skip_install = true
extras =
commands = pip wheel -w {envtmpdir}/build --no-deps .
twine check {envtmpdir}/build/*
[testenv:dev]
description = create dev environment
extras = testing, docs
usedevelop = True
commands = python -m pip list --format=columns
python -c "print(r'{envpython}')"