blob: a8a22974297cfb79eca91e1728f75e683b2cab57 [file] [log] [blame]
Jay Pipesa6aa5f22012-07-24 19:40:29 -04001[tox]
Ghanshyam Mann551e8d72020-02-04 09:04:30 -06002envlist = pep8,py36,py37,bashate,pip-check-reqs
Ghanshyam1c680fd2020-01-20 11:43:29 -06003minversion = 3.1.1
Matthew Treinish7228e112013-10-03 14:58:54 +00004skipsdist = True
Ghanshyam1c680fd2020-01-20 11:43:29 -06005ignore_basepython_conflict = True
Jay Pipesa6aa5f22012-07-24 19:40:29 -04006
Matthew Treinish5b7626a2014-09-23 17:39:38 -04007[tempestenv]
Lee Yarwoodbc9fe8e2020-01-28 21:27:59 +00008basepython = python3
Joe Gordon9f1612e2015-01-28 11:23:43 -08009sitepackages = False
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090010setenv =
11 VIRTUAL_ENV={envdir}
12 OS_TEST_PATH=./tempest/test_discover
Ghanshyam40b51c52020-01-19 19:31:11 -060013 OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090014deps =
caoyuan349ba752019-04-23 19:40:06 +080015 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090016 -r{toxinidir}/requirements.txt
Matthew Treinish5b7626a2014-09-23 17:39:38 -040017
18[testenv]
Ghanshyam1c680fd2020-01-20 11:43:29 -060019basepython = python3
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090020setenv =
21 VIRTUAL_ENV={envdir}
Andrea Frittoli8f018cb2017-08-11 14:36:18 +010022 OS_LOG_CAPTURE=1
Matthew Treinish5cc92892018-02-22 15:53:47 -050023 OS_STDOUT_CAPTURE=1
24 OS_STDERR_CAPTURE=1
25 OS_TEST_TIMEOUT=160
Stephen Finucanea6353c42018-07-06 14:00:36 +010026 PYTHONWARNINGS=default::DeprecationWarning,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:site
Chris Dent9b4c50c2018-10-03 10:24:40 +010027passenv = OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_TEST_TIMEOUT OS_TEST_LOCK_PATH TEMPEST_CONFIG TEMPEST_CONFIG_DIR http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY ZUUL_CACHE_DIR REQUIREMENTS_PIP_LOCATION GENERATE_TEMPEST_PLUGIN_LIST GABBI_TEMPEST_PATH
Matthew Treinish7228e112013-10-03 14:58:54 +000028usedevelop = True
Andreas Jaeger880d9432017-12-01 07:38:54 +010029install_command = pip install {opts} {packages}
Matthew Treinish5b7626a2014-09-23 17:39:38 -040030whitelist_externals = *
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090031deps =
caoyuan349ba752019-04-23 19:40:06 +080032 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090033 -r{toxinidir}/requirements.txt
34 -r{toxinidir}/test-requirements.txt
Sean Daguec7b4d882014-11-25 08:18:23 -050035commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090036 find . -type f -name "*.pyc" -delete
Masayuki Igawad0b8ebd2017-09-14 14:51:25 -060037 stestr --test-path ./tempest/tests run {posargs}
Matthew Treinish12fdf4b2013-10-03 15:20:09 +000038
Jon Grimm270bd7f2014-08-05 18:11:29 +000039[testenv:genconfig]
Matthew Treinishbdef1c72016-06-21 18:06:49 -040040commands = oslo-config-generator --config-file tempest/cmd/config-generator.tempest.conf
Jon Grimm270bd7f2014-08-05 18:11:29 +000041
Matthew Treinishb2f5cad2014-01-07 21:54:55 +000042[testenv:cover]
Matthew Treinish069d8282017-11-28 19:19:27 -050043setenv =
44 {[testenv]setenv}
45 PYTHON=coverage run --source tempest --parallel-mode
46commands =
47 coverage erase
48 find . -type f -name "*.pyc" -delete
49 stestr --test-path ./tempest/tests run {posargs}
50 coverage combine
51 coverage html -d cover
52 coverage xml -o cover/coverage.xml
53 coverage report
Matthew Treinishb2f5cad2014-01-07 21:54:55 +000054
Manik Bindlish8a7aaa52018-11-30 10:22:30 +000055[testenv:debug]
Manik Bindlish8a7aaa52018-11-30 10:22:30 +000056commands = oslo_debug_helper -t tempest/tests {posargs}
57
Giampaolo Lauria7a3e0042013-06-07 14:59:19 -040058[testenv:all]
Matthew Treinish0e25a902016-04-29 16:38:51 -040059envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -040060sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -060061basepython = {[tempestenv]basepython}
David Kranzf9695d22014-10-27 11:43:52 -040062# 'all' includes slow tests
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090063setenv =
64 {[tempestenv]setenv}
Matthew Treinish5b7626a2014-09-23 17:39:38 -040065deps = {[tempestenv]deps}
Giampaolo Lauria7a3e0042013-06-07 14:59:19 -040066commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090067 find . -type f -name "*.pyc" -delete
Masayuki Igawafe0de682019-05-21 17:04:28 +090068 tempest run --regex {posargs:''}
Matthew Treinish87af1bb2013-06-17 15:29:10 -040069
Marc Kodererc2f9b3a2015-07-27 15:19:08 +020070[testenv:all-plugin]
Andrea Frittoli35d12ca2018-02-13 15:42:25 +000071# DEPRECATED
72# NOTE(andreaf) The all-plugin tox env uses sitepackages
73# so that plugins installed outsite of Tempest virtual environment
74# can be discovered. After the implementation during the Queens
75# release cycle of the goal of moving Tempest plugins in dedicated
76# git repos, this environment should not be used anymore. "all"
77# should be used instead with the appropriate regex filtering.
78sitepackages = True
79# 'all' includes slow tests
80setenv =
81 {[tempestenv]setenv}
Ghanshyam1c680fd2020-01-20 11:43:29 -060082basepython = {[tempestenv]basepython}
Andrea Frittoli35d12ca2018-02-13 15:42:25 +000083deps = {[tempestenv]deps}
84commands =
85 echo "WARNING: The all-plugin env is deprecated and will be removed"
86 echo "WARNING Please use the 'all' environment for Tempest plugins."
87 find . -type f -name "*.pyc" -delete
Masayuki Igawafe0de682019-05-21 17:04:28 +090088 tempest run --regex {posargs:''}
Andrea Frittoli35d12ca2018-02-13 15:42:25 +000089
90[testenv:all-site-packages]
Marc Kodererc2f9b3a2015-07-27 15:19:08 +020091sitepackages = True
92# 'all' includes slow tests
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090093setenv =
94 {[tempestenv]setenv}
Ghanshyam1c680fd2020-01-20 11:43:29 -060095basepython = {[tempestenv]basepython}
Marc Kodererc2f9b3a2015-07-27 15:19:08 +020096deps = {[tempestenv]deps}
97commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090098 find . -type f -name "*.pyc" -delete
Masayuki Igawafe0de682019-05-21 17:04:28 +090099 tempest run --regex {posargs:''}
Marc Kodererc2f9b3a2015-07-27 15:19:08 +0200100
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400101[testenv:full]
Matthew Treinish0e25a902016-04-29 16:38:51 -0400102envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400103sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600104basepython = {[tempestenv]basepython}
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400105setenv = {[tempestenv]setenv}
106deps = {[tempestenv]deps}
Matthew Treinish59eb0b22013-08-07 15:48:21 -0400107# The regex below is used to select which tests to run and exclude the slow tag:
Masayuki Igawa83522042015-12-01 16:51:34 +0900108# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
Masayuki Igawaac0b1712018-03-09 16:20:42 +0900109# FIXME: We can replace it with the `--black-regex` option to exclude tests now.
Matthew Treinish83d2ec42013-07-30 16:37:32 -0400110commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900111 find . -type f -name "*.pyc" -delete
Sean Dague49505df2017-03-01 11:35:58 -0500112 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs}
113 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' {posargs}
Matthew Treinish83d2ec42013-07-30 16:37:32 -0400114
Attila Fazekas3f219f52018-03-01 16:50:10 +0000115[testenv:full-parallel]
116envdir = .tox/tempest
117sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600118basepython = {[tempestenv]basepython}
Attila Fazekas3f219f52018-03-01 16:50:10 +0000119setenv = {[tempestenv]setenv}
120deps = {[tempestenv]deps}
121# The regex below is used to select all tempest scenario and including the non slow api tests
122commands =
123 find . -type f -name "*.pyc" -delete
124 tempest run --regex '(^tempest\.scenario.*)|(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs}
125
Ghanshyam5072a242019-07-03 14:40:53 +0000126[testenv:integrated-network]
127envdir = .tox/tempest
128sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600129basepython = {[tempestenv]basepython}
Ghanshyam5072a242019-07-03 14:40:53 +0000130setenv = {[tempestenv]setenv}
131deps = {[tempestenv]deps}
132# The regex below is used to select which tests to run and exclude the slow tag and
133# tests listed in blacklist file:
134commands =
135 find . -type f -name "*.pyc" -delete
136 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-networking-blacklist.txt {posargs}
137 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-networking-blacklist.txt {posargs}
138
Ghanshyamee7fd1f2019-07-05 09:36:57 +0000139[testenv:integrated-compute]
140envdir = .tox/tempest
141sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600142basepython = {[tempestenv]basepython}
Ghanshyamee7fd1f2019-07-05 09:36:57 +0000143setenv = {[tempestenv]setenv}
144deps = {[tempestenv]deps}
145# The regex below is used to select which tests to run and exclude the slow tag and
146# tests listed in blacklist file:
147commands =
148 find . -type f -name "*.pyc" -delete
149 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-compute-blacklist.txt {posargs}
150 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-compute-blacklist.txt {posargs}
151
Ghanshyam31609dc2019-07-05 09:23:37 +0000152[testenv:integrated-placement]
153envdir = .tox/tempest
154sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600155basepython = {[tempestenv]basepython}
Ghanshyam31609dc2019-07-05 09:23:37 +0000156setenv = {[tempestenv]setenv}
157deps = {[tempestenv]deps}
158# The regex below is used to select which tests to run and exclude the slow tag and
159# tests listed in blacklist file:
160commands =
161 find . -type f -name "*.pyc" -delete
162 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-placement-blacklist.txt {posargs}
163 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-placement-blacklist.txt {posargs}
164
Ghanshyam Manna6994452019-07-05 08:43:23 +0000165[testenv:integrated-storage]
166envdir = .tox/tempest
167sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600168basepython = {[tempestenv]basepython}
Ghanshyam Manna6994452019-07-05 08:43:23 +0000169setenv = {[tempestenv]setenv}
170deps = {[tempestenv]deps}
171# The regex below is used to select which tests to run and exclude the slow tag and
172# tests listed in blacklist file:
173commands =
174 find . -type f -name "*.pyc" -delete
175 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-storage-blacklist.txt {posargs}
176 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-storage-blacklist.txt {posargs}
177
Ghanshyam95358522019-07-05 08:58:32 +0000178[testenv:integrated-object-storage]
179envdir = .tox/tempest
180sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600181basepython = {[tempestenv]basepython}
Ghanshyam95358522019-07-05 08:58:32 +0000182setenv = {[tempestenv]setenv}
183deps = {[tempestenv]deps}
184# The regex below is used to select which tests to run and exclude the slow tag and
185# tests listed in blacklist file:
186commands =
187 find . -type f -name "*.pyc" -delete
188 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-object-storage-blacklist.txt {posargs}
189 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-object-storage-blacklist.txt {posargs}
190
Matthew Treinish99288cd2014-02-10 09:21:51 -0500191[testenv:full-serial]
Matthew Treinish0e25a902016-04-29 16:38:51 -0400192envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400193sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600194basepython = {[tempestenv]basepython}
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400195setenv = {[tempestenv]setenv}
196deps = {[tempestenv]deps}
Matthew Treinish99288cd2014-02-10 09:21:51 -0500197# The regex below is used to select which tests to run and exclude the slow tag:
Masayuki Igawa83522042015-12-01 16:51:34 +0900198# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
Masayuki Igawaac0b1712018-03-09 16:20:42 +0900199# FIXME: We can replace it with the `--black-regex` option to exclude tests now.
Matthew Treinish99288cd2014-02-10 09:21:51 -0500200commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900201 find . -type f -name "*.pyc" -delete
Masayuki Igawa730f59b2016-09-21 11:47:32 +0200202 tempest run --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario))' {posargs}
Matthew Treinish99288cd2014-02-10 09:21:51 -0500203
Andrea Frittolib838af92017-03-06 15:11:13 +0000204[testenv:scenario]
205envdir = .tox/tempest
206sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600207basepython = {[tempestenv]basepython}
Andrea Frittolib838af92017-03-06 15:11:13 +0000208setenv = {[tempestenv]setenv}
209deps = {[tempestenv]deps}
210# The regex below is used to select all scenario tests
211commands =
212 find . -type f -name "*.pyc" -delete
213 tempest run --serial --regex '(^tempest\.scenario)' {posargs}
214
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400215[testenv:smoke]
Matthew Treinish0e25a902016-04-29 16:38:51 -0400216envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400217sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600218basepython = {[tempestenv]basepython}
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400219setenv = {[tempestenv]setenv}
220deps = {[tempestenv]deps}
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400221commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900222 find . -type f -name "*.pyc" -delete
Matthew Treinish68c78712016-07-28 14:47:27 -0400223 tempest run --regex '\[.*\bsmoke\b.*\]' {posargs}
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400224
Joe Gordond2796292013-11-14 12:55:55 -0800225[testenv:smoke-serial]
Matthew Treinish0e25a902016-04-29 16:38:51 -0400226envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400227sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600228basepython = {[tempestenv]basepython}
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400229setenv = {[tempestenv]setenv}
230deps = {[tempestenv]deps}
Joe Gordond2796292013-11-14 12:55:55 -0800231# This is still serial because neutron doesn't work with parallel. See:
232# https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke
233# job would fail if we moved it to parallel.
234commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900235 find . -type f -name "*.pyc" -delete
Matthew Treinish68c78712016-07-28 14:47:27 -0400236 tempest run --serial --regex '\[.*\bsmoke\b.*\]' {posargs}
Joe Gordond2796292013-11-14 12:55:55 -0800237
ghanshyam10326c72018-08-01 08:53:00 +0000238[testenv:slow-serial]
239envdir = .tox/tempest
240sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600241basepython = {[tempestenv]basepython}
ghanshyam10326c72018-08-01 08:53:00 +0000242setenv = {[tempestenv]setenv}
243deps = {[tempestenv]deps}
244# The regex below is used to select the slow tagged tests to run serially:
245commands =
246 find . -type f -name "*.pyc" -delete
247 tempest run --serial --regex '\[.*\bslow\b.*\]' {posargs}
248
Ghanshyama0b8ca42019-07-17 09:46:41 +0000249[testenv:ipv6-only]
250envdir = .tox/tempest
251sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600252basepython = {[tempestenv]basepython}
Ghanshyama0b8ca42019-07-17 09:46:41 +0000253setenv = {[tempestenv]setenv}
254deps = {[tempestenv]deps}
255# Run only smoke and ipv6 tests. This env is used to tests
256# the ipv6 deployments and basic tests run fine so that we can
257# verify that services listen on IPv6 address.
258commands =
259 find . -type f -name "*.pyc" -delete
260 tempest run --regex '\[.*\bsmoke|ipv6|test_network_v6\b.*\]' {posargs}
261
Sean Dagueb56052b2013-05-21 17:57:41 -0400262[testenv:venv]
Matt Riedemannd5e92822018-01-25 11:25:57 -0500263deps =
caoyuan349ba752019-04-23 19:40:06 +0800264 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
Matt Riedemannd5e92822018-01-25 11:25:57 -0500265 -r{toxinidir}/requirements.txt
266 -r{toxinidir}/doc/requirements.txt
Sean Dagueb56052b2013-05-21 17:57:41 -0400267commands = {posargs}
Sean Dagueb56052b2013-05-21 17:57:41 -0400268
Matthew Treinish0e25a902016-04-29 16:38:51 -0400269[testenv:venv-tempest]
270envdir = .tox/tempest
271sitepackages = {[tempestenv]sitepackages}
Ghanshyam1c680fd2020-01-20 11:43:29 -0600272basepython = {[tempestenv]basepython}
Matthew Treinish0e25a902016-04-29 16:38:51 -0400273setenv = {[tempestenv]setenv}
274deps = {[tempestenv]deps}
275commands = {posargs}
276
Matthew Treinish8bd013e2014-06-18 21:58:32 -0400277[testenv:docs]
junboli173b11c2018-01-15 11:25:35 +0800278deps =
caoyuan349ba752019-04-23 19:40:06 +0800279 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
junboli173b11c2018-01-15 11:25:35 +0800280 -r{toxinidir}/requirements.txt
281 -r{toxinidir}/doc/requirements.txt
Mathew Oddenb389faa2015-07-30 20:24:08 +0000282commands =
junboli173b11c2018-01-15 11:25:35 +0800283 rm -rf doc/build
Ihar Hrachyshka8032b2e2017-11-27 14:16:59 -0800284 sphinx-build -W -b html doc/source doc/build/html
junboli173b11c2018-01-15 11:25:35 +0800285whitelist_externals = rm
Matthew Treinish8bd013e2014-06-18 21:58:32 -0400286
Masayuki Igawa7e4ef4c2019-07-03 17:17:44 +0900287[testenv:pdf-docs]
Masayuki Igawa7e4ef4c2019-07-03 17:17:44 +0900288deps = {[testenv:docs]deps}
289whitelist_externals =
290 make
291commands =
292 sphinx-build -W -b latex doc/source doc/build/pdf
293 make -C doc/build/pdf
294
Jay Pipesa6aa5f22012-07-24 19:40:29 -0400295[testenv:pep8]
afazekas40fcb9b2019-03-08 11:25:11 +0100296deps =
Attila Fazekasc07edb52019-03-17 15:38:03 +0100297 -r{toxinidir}/test-requirements.txt
afazekas40fcb9b2019-03-08 11:25:11 +0100298 autopep8
Matthew Treinish3d468112013-10-24 21:49:14 +0000299commands =
afazekas40fcb9b2019-03-08 11:25:11 +0100300 autopep8 --exit-code --max-line-length=79 --experimental --diff -r tempest setup.py
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900301 flake8 {posargs}
302 check-uuid
Matthew Treinish3d468112013-10-24 21:49:14 +0000303
afazekas40fcb9b2019-03-08 11:25:11 +0100304[testenv:autopep8]
305deps = autopep8
afazekas40fcb9b2019-03-08 11:25:11 +0100306commands =
Attila Fazekasc07edb52019-03-17 15:38:03 +0100307 {toxinidir}/tools/format.sh
afazekas40fcb9b2019-03-08 11:25:11 +0100308
Chris Hoge7579c1a2015-02-26 14:12:15 -0800309[testenv:uuidgen]
310commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900311 check-uuid --fix
Chris Hoge296558c2015-02-19 00:29:49 -0600312
Giampaolo Lauria1b837ce2013-05-01 11:22:07 -0400313[hacking]
Giampaolo Lauriad50c27d2013-05-23 15:23:12 -0400314local-check-factory = tempest.hacking.checks.factory
Matthew Treinish2b6db0c2014-05-17 10:42:36 -0400315import_exceptions = tempest.services
Giampaolo Lauria1b837ce2013-05-01 11:22:07 -0400316
Monty Taylorb2ca5ca2013-04-28 18:00:21 -0700317[flake8]
caoyuan349ba752019-04-23 19:40:06 +0800318# E125 is a won't fix until https://github.com/jcrocholl/pep8/issues/126 is resolved. For further detail see https://review.opendev.org/#/c/36788/
Matthew Treinish96e9e882014-06-09 18:37:19 -0400319# E123 skipped because it is ignored by default in the default pep8
Matthew Treinish1d14c542014-06-17 20:25:40 -0400320# E129 skipped because it is too limiting when combined with other rules
Stephen Finucanefc42cc62018-07-06 13:39:55 +0100321# W504 skipped because it is overeager and unnecessary
322ignore = E125,E123,E129,W504
Monty Taylorb2ca5ca2013-04-28 18:00:21 -0700323show-source = True
junboli8bd00e32017-08-22 17:06:15 +0800324exclude = .git,.venv,.tox,dist,doc,*egg,build
Jordan Pittier525ec712016-12-07 17:51:26 +0100325enable-extensions = H106,H203,H904
Masayuki Igawa134d9f72017-02-10 18:05:26 +0900326import-order-style = pep8
Andrea Frittoli (andreaf)897ecfb2016-02-23 10:12:48 -0500327
328[testenv:releasenotes]
junboli173b11c2018-01-15 11:25:35 +0800329deps =
caoyuan349ba752019-04-23 19:40:06 +0800330 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
junboli173b11c2018-01-15 11:25:35 +0800331 -r{toxinidir}/requirements.txt
332 -r{toxinidir}/doc/requirements.txt
junboli8bd00e32017-08-22 17:06:15 +0800333commands =
junboli173b11c2018-01-15 11:25:35 +0800334 rm -rf releasenotes/build
335 sphinx-build -a -E -W -d releasenotes/build/doctrees \
336 -b html releasenotes/source releasenotes/build/html
337whitelist_externals = rm
Jordan Pittiercefaa2b2016-07-22 13:04:26 +0200338
Masayuki Igawade1153b2019-07-30 18:02:07 +0900339[testenv:bashate]
Masayuki Igawade1153b2019-07-30 18:02:07 +0900340# if you want to test out some changes you have made to bashate
341# against tempest, just set BASHATE_INSTALL_PATH=/path/... to your
342# modified bashate tree
343deps =
344 {env:BASHATE_INSTALL_PATH:bashate}
345whitelist_externals = bash
346commands = bash -c "find {toxinidir}/tools \
347 -not \( -type d -name .?\* -prune \) \
348 -type f \
349 -name \*.sh \
Masayuki Igawafdd96442019-08-02 13:44:49 +0900350 -print0 | xargs -0 bashate -v -eE005,E042 -i E006"
Masayuki Igawade1153b2019-07-30 18:02:07 +0900351
Jordan Pittiercefaa2b2016-07-22 13:04:26 +0200352[testenv:pip-check-reqs]
353# Do not install test-requirements as that will pollute the virtualenv for
354# determining missing packages.
355# This also means that pip-check-reqs must be installed separately, outside
356# of the requirements.txt files
357deps = pip_check_reqs
358 -r{toxinidir}/requirements.txt
359commands=
360 pip-extra-reqs -d --ignore-file=tempest/tests/* tempest
361 pip-missing-reqs -d --ignore-file=tempest/tests/* tempest
Chandan Kumarac5c5532016-11-30 18:49:26 +0530362
363
364[testenv:bindep]
365# Do not install any requirements. We want this to be fast and work even if
366# system dependencies are missing, since it's used to tell you what system
367# dependencies are missing! This also means that bindep must be installed
368# separately, outside of the requirements files.
369deps = bindep
370commands = bindep test
Chandan Kumarb7affe42017-06-29 13:57:01 +0530371
372[testenv:plugin-sanity-check]
373# perform tempest plugin sanity
374whitelist_externals = bash
375commands =
376 bash tools/tempest-plugin-sanity.sh