-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtox.ini
119 lines (106 loc) · 2.5 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
[tox]
envlist = py39,py310,py311,py312,py313,pypy3.10
[testenv]
allowlist_externals =
find
sed
deps =
pytest>=6.0
contexttimer>=0.3
brunns-builder>=1.1.1
pytest-docker~=3.1
commands =
{posargs:py.test} -o log_cli=true
extras = optional
passenv = GITHUB_*
[testenv:coverage]
envlist = py313
deps =
{[testenv]deps}
pytest-cov
commands =
pytest --cov {envsitepackagesdir}/brunns/matchers --durations=10 --cov-report term-missing --cov-fail-under 100 --basetemp={envtmpdir} {posargs}
[testenv:publish-coverage]
envlist = py313
passenv = TRAVIS TRAVIS_* CODACY_*
deps =
{[testenv:coverage]deps}
codacy-coverage>=1.0
commands =
pytest --cov {envsitepackagesdir}/brunns/matchers --cov-report xml --basetemp={envtmpdir} {posargs}
sed -i 's/\/home\/travis\/build\/brunns\/brunns-matchers\/.tox\/publish-coverage\/lib\/python3..\/site-packages/src/g' coverage.xml
python-codacy-coverage -r coverage.xml
[coverage:run]
branch = True
omit = */matcher.py, src/brunns/matchers/__init__.py
[base]
; Needs to match as setup.py's install_requires. TODO - DRY.
deps =
furl>=2.0
pyhamcrest>=2.0
pytest>=6.0
beautifulsoup4>=4.0
brunns-row>=2.0
[testenv:pipdeptree]
basepython = python3
deps =
pipdeptree
commands =
pipdeptree
usedevelop=False
[testenv:pydeps]
basepython = python3
deps =
pydeps
commands =
pydeps src/brunns --cluster --rmprefix brunns.
usedevelop=False
[testenv:mutmut]
basepython = python3
extras =
test
deps =
mutmut
commands =
mutmut {posargs}
[testenv:mypy]
basepython = python3
skip_install = true
deps =
mypy>=1.2
types-requests
{[testenv]deps}
{[base]deps}
commands =
mypy src/ {posargs} --ignore-missing-imports
[testenv:piprot]
basepython = python3
skip_install = true
deps =
piprot>=0.9
commands =
pip freeze | piprot
[testenv:format]
basepython = python3
skip_install = true
deps =
ruff
commands =
ruff format .
ruff check . --fix-only
[testenv:check-format]
basepython = python3
skip_install = true
deps = {[testenv:format]deps}
commands =
ruff format . --check
ruff check .
[testenv:docs]
description = invoke sphinx-build to build the HTML docs
basepython = python3
deps =
sphinx>=3.0
sphinx-autodoc-typehints>=1.10
furo
commands = sphinx-build docs "{toxinidir}/build_docs" --color -W -bhtml {posargs}
python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxinidir}") / "build_docs" / "index.html"))'