forked from openstack/glance
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
214 lines (188 loc) · 6.94 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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
[tox]
minversion = 2.3.1
envlist = py36,functional-py36,py35,functional-py35,py27,functional,pep8
skipsdist = True
[testenv]
# Set default python version
setenv =
VIRTUAL_ENV={envdir}
PYTHONWARNINGS=default::DeprecationWarning
# NOTE(hemanthm): The environment variable "OS_TEST_DBAPI_ADMIN_CONNECTION"
# must be set to force oslo.db tests to use a file-based sqlite database
# instead of the default in-memory database, which doesn't work well with
# alembic migrations. The file-based database pointed by the environment
# variable itself is not used for testing. Neither is it ever created. Oslo.db
# creates another file-based database for testing purposes and deletes it as a
# part of its test clean-up. Think of setting this environment variable as a
# clue for oslo.db to use file-based database.
OS_TEST_DBAPI_ADMIN_CONNECTION=sqlite:////tmp/placeholder-never-created-nor-used.db
usedevelop = True
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
commands =
find . -type f -name "*.pyc" -delete
whitelist_externals = bash
find
rm
passenv = *_proxy *_PROXY
[testenv:py27]
commands = stestr run --slowest {posargs}
[testenv:py35]
basepython = python3.5
commands = stestr run --slowest {posargs}
[testenv:py36]
basepython = python3.6
commands = stestr run --slowest {posargs}
[testenv:py37]
basepython = python3.7
commands = stestr run --slowest {posargs}
[testenv:functional]
setenv =
TEST_PATH = ./glance/tests/functional
ignore_errors = True
commands =
stestr run {posargs}
[testenv:functional-py35]
basepython = python3.5
setenv =
TEST_PATH = ./glance/tests/functional
ignore_errors = True
whitelist_externals =
bash
commands =
stestr run --blacklist-file ./broken-functional-py35-ssl-tests.txt {posargs}
[testenv:functional-py36]
basepython = python3.6
setenv =
TEST_PATH = ./glance/tests/functional
ignore_errors = True
whitelist_externals =
bash
commands =
stestr run --blacklist-file ./broken-functional-py35-ssl-tests.txt {posargs}
[testenv:functional-py37]
basepython = python3.7
setenv =
TEST_PATH = ./glance/tests/functional
ignore_errors = True
whitelist_externals =
bash
commands =
stestr run --blacklist-file ./broken-functional-py35-ssl-tests.txt {posargs}
[testenv:broken-py35-ssl-tests]
# NOTE(rosmaita): these tests were being skipped due to bug #1482633, but we
# want it to be obvious that Glance is affected by the eventlet ssl-handshake
# problem under py35. (When this testenv is removed, don't forget to adjust
# the blacklist generation in the functional-py35 testenv.)
basepython = python3.5
setenv =
TEST_PATH = ./glance/tests/functional
commands =
stestr run --whitelist-file ./broken-functional-py35-ssl-tests.txt {posargs}
[testenv:gateonly]
# NOTE(rosmaita): these tests catch configuration problems for some code
# constants that must be maintained manually; we have them separated out
# so they don't affect local development
# TODO(someone other than me): figure out how to make these changes either
# automatic or unnecessary
basepython = python3
setenv =
TEST_PATH = ./glance/tests/gate
commands =
stestr run {posargs}
[testenv:pep8]
basepython = python3
commands =
flake8 {posargs}
# Run security linter
# Check that .po and .pot files are valid:
bash -c "find glance -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
doc8 {posargs}
[testenv:genconfig]
basepython = python3
commands =
oslo-config-generator --config-file etc/oslo-config-generator/glance-api.conf
oslo-config-generator --config-file etc/oslo-config-generator/glance-registry.conf
oslo-config-generator --config-file etc/oslo-config-generator/glance-scrubber.conf
oslo-config-generator --config-file etc/oslo-config-generator/glance-cache.conf
oslo-config-generator --config-file etc/oslo-config-generator/glance-manage.conf
oslo-config-generator --config-file etc/oslo-config-generator/glance-image-import.conf
[testenv:api-ref]
basepython = python3
# This environment is called from CI scripts to test and publish
# the API Ref to developer.openstack.org.
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[testenv:bindep]
basepython = python3
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
deps = bindep
commands = bindep test
usedevelop = False
[doc8]
ignore-path = .venv,.git,.tox,*glance/locale*,*lib/python*,glance.egg*,api-ref/build,doc/build,doc/source/contributor/api,doc/test
[flake8]
# TODO(dmllr): Analyze or fix the warnings blacklisted below
# E711 comparison to None should be 'if cond is not None:'
# E712 comparison to True should be 'if cond is True:' or 'if cond:'
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
ignore = E711,E712,H404,H405
exclude = .venv,.git,.tox,dist,doc,etc,*glance/locale*,*lib/python*,*egg,build
[hacking]
local-check-factory = glance.hacking.checks.factory
import_exceptions = glance.i18n
[testenv:docs]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands =
rm -fr doc/build
sphinx-build -W -b html doc/source doc/build/html
whereto doc/source/_extra/.htaccess doc/test/redirect-tests.txt
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:releasenotes]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:cover]
basepython = python3
setenv =
PYTHON=coverage run --source glance --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:debug]
basepython = python3
commands =
oslo_debug_helper {posargs}
[testenv:debug-py27]
commands =
oslo_debug_helper {posargs}
[testenv:debug-py35]
basepython = python3.5
commands =
oslo_debug_helper {posargs}
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt