-
Notifications
You must be signed in to change notification settings - Fork 3
/
tox.ini
146 lines (126 loc) · 3.92 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
137
138
139
140
141
142
143
144
145
146
[tox]
envlist = py37,pep8,cover
minversion = 2.7
skipsdist = True
[testenv]
basepython = python3
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=monasca_events_api/tests/unit
passenv = *_proxy
*_PROXY
whitelist_externals = bash
find
rm
install_command = pip install {opts} {packages}
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands =
find ./ -type f -name '*.pyc' -delete
rm -Rf .testrepository/times.dbm
[testenv:py36]
description = Runs unit test using Python3.6
basepython = python3.6
commands =
{[testenv]commands}
stestr run {posargs}
[testenv:cover]
description = Calculates code coverage
setenv =
PYTHON=coverage run --source monasca_events_api --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:debug]
description = Allows to run unit-test with debug mode enabled
commands =
{[testenv]commands}
oslo_debug_helper -t {env:OS_TEST_PATH} {posargs}
[testenv:bashate]
description = Validates (pep8-like) devstack plugins
skip_install = True
usedevelop = False
commands = bash {toxinidir}/tools/bashate.sh
[testenv:bandit]
skip_install = True
usedevelop = False
commands = bandit -r monasca_events_api -n5 -x monasca_events_api/tests
[testenv:flake8]
skip_install = True
usedevelop = False
commands =
flake8 monasca_events_api
[testenv:pep8]
description = Runs set of linters against codebase (flake8, bandit, bashate, checkniceness)
commands =
{[testenv:flake8]commands}
{[testenv:bandit]commands}
{[testenv:bashate]commands}
{[testenv:checkniceness]commands}
[testenv:docs]
description = Builds api-ref, releasenotes and devdocs
commands =
{[testenv:devdocs]commands}
{[testenv:api-ref]commands}
{[testenv:releasenotes]commands}
[testenv:api-ref]
description = Called from CI scripts to test and publish the API Ref
commands =
rm -rf api-ref/build
{[testenv:checkjson]commands}
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[testenv:releasenotes]
description = Called from CI script to test and publish the Release Notes
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:devdocs]
description = Builds developer documentation
commands =
{[testenv]commands}
rm -rf doc/build
rm -rf doc/source/contributor/api
{[testenv:checkjson]commands}
python setup.py build_sphinx
[testenv:checkniceness]
description = Validates (pep-like) documentation
skip_install = True
usedevelop = False
commands =
doc8 --file-encoding utf-8 {toxinidir}/doc
doc8 --file-encoding utf-8 {toxinidir}/api-ref
doc8 --file-encoding utf-8 {toxinidir}/releasenotes
[testenv:checkjson]
description = Validates all json samples inside doc folder
deps =
whitelist_externals =
bash
python
commands =
bash -c "! find doc/ -type f -name *.json | xargs grep -U -n $'\r'"
bash -c '! find doc/ -type f -name *.json | xargs -t -n1 python -m json.tool 2>&1 > /dev/null | grep -B1 -v ^python'
[testenv:genconfig]
description = Generates sample documentation file for monasca-events-api
commands = oslo-config-generator --config-file=config-generator/config.conf
[testenv:genpolicy]
description = Generates sample policy.yaml file for monasca-events-api
commands = oslopolicy-sample-generator --config-file=config-generator/policy.conf
[testenv:venv]
commands = {posargs}
[flake8]
exclude = .git,.gitignore,.tox,dist,doc,api-ref,releasenotes,*.egg,build,
__pycache__
show-source = True
enable-extensions = H203,H106
ignore = D100,D104
import-order-style = pep8
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[hacking]