-
Notifications
You must be signed in to change notification settings - Fork 5
/
tox.ini
121 lines (106 loc) · 2.37 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
# Tox configuration file
#
# For more information, see https://tox.readthedocs.org
#
# Run it with
# a) all targets
# $ tox
#
# b) with specific targets (build only documentation):
# $ tox -e doc
#
[tox]
minversion = 3.3.0
isolated_build = True
skip_missing_interpreters = True
skipsdist = True
envlist =
check,
unit_py3_11,
unit_py3_10,
doc
[testenv]
description =
{unit_py3_10,unit_py3_11}: Unit Test run with basepython set to {basepython}
allowlist_externals =
bash
travis-sphinx
cp
make
rm
mv
flake8
python
pytest
basepython =
{check,devel,doc}: python3
unit_py3_11: python3.11
unit_py3_10: python3.10
release: python3.10
passenv =
*
usedevelop = True
deps =
-r.virtualenv.dev-requirements.txt
# Unit Test run with basepython set to 3.10
[testenv:unit_py3_10]
setenv =
PYTHONPATH={toxinidir}/test
changedir=test/unit
commands =
{[testenv:unit]commands}
# Unit Test run with basepython set to 3.11
[testenv:unit_py3_11]
setenv =
PYTHONPATH={toxinidir}/test
changedir=test/unit
commands =
{[testenv:unit]commands}
[testenv:unit]
description = Unit Test Base
skip_install = True
usedevelop = True
setenv =
PYTHONUNBUFFERED=yes
WITH_COVERAGE=yes
passenv =
*
deps = {[testenv]deps}
changedir=test/unit
commands =
bash -c 'cd ../../ && ./setup.py develop'
bash -c 'cd ../../ && mypy --install-types --non-interactive kiwi_boxed_plugin'
pytest --doctest-modules --no-cov-on-fail --cov=kiwi_boxed_plugin \
--cov-report=term-missing --cov-fail-under=100 \
--cov-config .coveragerc {posargs}
# Documentation build suitable for local review
[testenv:doc]
skip_install = True
usedevelop = True
deps = {[testenv]deps}
changedir=doc
commands =
{[testenv:doc.man]commands}
# Documentation build man pages
[testenv:doc.man]
skip_install = True
deps = {[testenv:doc]deps}
changedir=doc
commands =
make man
# Source code quality/integrity check
[testenv:check]
deps = {[testenv]deps}
skip_install = True
usedevelop = True
commands =
flake8 --statistics -j auto --count {toxinidir}/kiwi_boxed_plugin
flake8 --statistics -j auto --count {toxinidir}/test/unit
bash -c 'shellcheck -e SC1091 {toxinidir}/boxes/images.sh -e SC2086 -s bash'
# PyPi upload
[testenv:release]
deps = {[testenv]deps}
skip_install = True
usedevelop = True
commands =
python setup.py sdist