blob: dfa833240d799bbcebc081cf0d561afe44fb3e6b [file] [log] [blame]
Jay Pipesa6aa5f22012-07-24 19:40:29 -04001[tox]
Jordan Pittiercefaa2b2016-07-22 13:04:26 +02002envlist = pep8,py35,py34,py27,pip-check-reqs
Ghanshyam3a59e1e2016-01-14 17:15:29 +09003minversion = 2.3.1
Matthew Treinish7228e112013-10-03 14:58:54 +00004skipsdist = True
Jay Pipesa6aa5f22012-07-24 19:40:29 -04005
Matthew Treinish5b7626a2014-09-23 17:39:38 -04006[tempestenv]
Joe Gordon9f1612e2015-01-28 11:23:43 -08007sitepackages = False
Masayuki Igawad81d3ce2016-04-20 15:00:54 +09008setenv =
9 VIRTUAL_ENV={envdir}
10 OS_TEST_PATH=./tempest/test_discover
Jordan Pittierec2eefe2017-01-09 12:57:37 +010011 BRANCH_NAME=master
12 CLIENT_NAME=tempest
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090013deps =
14 setuptools
15 -r{toxinidir}/requirements.txt
Matthew Treinish5b7626a2014-09-23 17:39:38 -040016
17[testenv]
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090018setenv =
19 VIRTUAL_ENV={envdir}
20 OS_TEST_PATH=./tempest/tests
ChangBo Guo(gcb)cd0374a2016-06-29 15:33:56 +080021 PYTHONWARNINGS=default::DeprecationWarning
Jordan Pittierec2eefe2017-01-09 12:57:37 +010022 BRANCH_NAME=master
23 CLIENT_NAME=tempest
24passenv = OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_TEST_TIMEOUT OS_TEST_LOCK_PATH OS_TEST_PATH TEMPEST_CONFIG TEMPEST_CONFIG_DIR http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY ZUUL_CACHE_DIR REQUIREMENTS_PIP_LOCATION
Matthew Treinish7228e112013-10-03 14:58:54 +000025usedevelop = True
Jordan Pittierec2eefe2017-01-09 12:57:37 +010026install_command =
27 {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
Matthew Treinish5b7626a2014-09-23 17:39:38 -040028whitelist_externals = *
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090029deps =
30 -r{toxinidir}/requirements.txt
31 -r{toxinidir}/test-requirements.txt
Sean Daguec7b4d882014-11-25 08:18:23 -050032commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090033 find . -type f -name "*.pyc" -delete
Matthew Treinishc3fef9f2016-09-09 18:04:50 -040034 ostestr {posargs}
Matthew Treinish12fdf4b2013-10-03 15:20:09 +000035
Jon Grimm270bd7f2014-08-05 18:11:29 +000036[testenv:genconfig]
Matthew Treinishbdef1c72016-06-21 18:06:49 -040037commands = oslo-config-generator --config-file tempest/cmd/config-generator.tempest.conf
Jon Grimm270bd7f2014-08-05 18:11:29 +000038
Matthew Treinishb2f5cad2014-01-07 21:54:55 +000039[testenv:cover]
40setenv = OS_TEST_PATH=./tempest/tests
41commands = python setup.py testr --coverage --testr-arg='tempest\.tests {posargs}'
42
Giampaolo Lauria7a3e0042013-06-07 14:59:19 -040043[testenv:all]
Matthew Treinish0e25a902016-04-29 16:38:51 -040044envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -040045sitepackages = {[tempestenv]sitepackages}
David Kranzf9695d22014-10-27 11:43:52 -040046# 'all' includes slow tests
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090047setenv =
48 {[tempestenv]setenv}
49 OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
Matthew Treinish5b7626a2014-09-23 17:39:38 -040050deps = {[tempestenv]deps}
Giampaolo Lauria7a3e0042013-06-07 14:59:19 -040051commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090052 find . -type f -name "*.pyc" -delete
Matthew Treinish68c78712016-07-28 14:47:27 -040053 tempest run --regex {posargs}
Matthew Treinish87af1bb2013-06-17 15:29:10 -040054
Matthew Treinish3a9d3e72015-11-20 14:51:31 -050055[testenv:ostestr]
56sitepackages = {[tempestenv]sitepackages}
57# 'all' includes slow tests
58setenv =
59 {[tempestenv]setenv}
60 OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
61deps = {[tempestenv]deps}
62commands =
63 find . -type f -name "*.pyc" -delete
64 ostestr {posargs}
65
Marc Kodererc2f9b3a2015-07-27 15:19:08 +020066[testenv:all-plugin]
67sitepackages = True
68# 'all' includes slow tests
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090069setenv =
70 {[tempestenv]setenv}
71 OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
Marc Kodererc2f9b3a2015-07-27 15:19:08 +020072deps = {[tempestenv]deps}
73commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090074 find . -type f -name "*.pyc" -delete
Matthew Treinish68c78712016-07-28 14:47:27 -040075 tempest run --regex {posargs}
Marc Kodererc2f9b3a2015-07-27 15:19:08 +020076
Monty Taylor8d4c90c2013-05-02 14:33:18 -040077[testenv:full]
Matthew Treinish0e25a902016-04-29 16:38:51 -040078envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -040079sitepackages = {[tempestenv]sitepackages}
80setenv = {[tempestenv]setenv}
81deps = {[tempestenv]deps}
Matthew Treinish59eb0b22013-08-07 15:48:21 -040082# The regex below is used to select which tests to run and exclude the slow tag:
Masayuki Igawa83522042015-12-01 16:51:34 +090083# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
Matthew Treinish83d2ec42013-07-30 16:37:32 -040084commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090085 find . -type f -name "*.pyc" -delete
Sean Dague49505df2017-03-01 11:35:58 -050086 tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs}
87 tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' {posargs}
Matthew Treinish83d2ec42013-07-30 16:37:32 -040088
Matthew Treinish99288cd2014-02-10 09:21:51 -050089[testenv:full-serial]
Matthew Treinish0e25a902016-04-29 16:38:51 -040090envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -040091sitepackages = {[tempestenv]sitepackages}
92setenv = {[tempestenv]setenv}
93deps = {[tempestenv]deps}
Matthew Treinish99288cd2014-02-10 09:21:51 -050094# The regex below is used to select which tests to run and exclude the slow tag:
Masayuki Igawa83522042015-12-01 16:51:34 +090095# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
Matthew Treinish99288cd2014-02-10 09:21:51 -050096commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +090097 find . -type f -name "*.pyc" -delete
Masayuki Igawa730f59b2016-09-21 11:47:32 +020098 tempest run --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario))' {posargs}
Matthew Treinish99288cd2014-02-10 09:21:51 -050099
Andrea Frittolib838af92017-03-06 15:11:13 +0000100[testenv:scenario]
101envdir = .tox/tempest
102sitepackages = {[tempestenv]sitepackages}
103setenv = {[tempestenv]setenv}
104deps = {[tempestenv]deps}
105# The regex below is used to select all scenario tests
106commands =
107 find . -type f -name "*.pyc" -delete
108 tempest run --serial --regex '(^tempest\.scenario)' {posargs}
109
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400110[testenv:smoke]
Matthew Treinish0e25a902016-04-29 16:38:51 -0400111envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400112sitepackages = {[tempestenv]sitepackages}
113setenv = {[tempestenv]setenv}
114deps = {[tempestenv]deps}
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400115commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900116 find . -type f -name "*.pyc" -delete
Matthew Treinish68c78712016-07-28 14:47:27 -0400117 tempest run --regex '\[.*\bsmoke\b.*\]' {posargs}
Monty Taylor8d4c90c2013-05-02 14:33:18 -0400118
Joe Gordond2796292013-11-14 12:55:55 -0800119[testenv:smoke-serial]
Matthew Treinish0e25a902016-04-29 16:38:51 -0400120envdir = .tox/tempest
Matthew Treinish5b7626a2014-09-23 17:39:38 -0400121sitepackages = {[tempestenv]sitepackages}
122setenv = {[tempestenv]setenv}
123deps = {[tempestenv]deps}
Joe Gordond2796292013-11-14 12:55:55 -0800124# This is still serial because neutron doesn't work with parallel. See:
125# https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke
126# job would fail if we moved it to parallel.
127commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900128 find . -type f -name "*.pyc" -delete
Matthew Treinish68c78712016-07-28 14:47:27 -0400129 tempest run --serial --regex '\[.*\bsmoke\b.*\]' {posargs}
Joe Gordond2796292013-11-14 12:55:55 -0800130
Sean Dagueb56052b2013-05-21 17:57:41 -0400131[testenv:venv]
132commands = {posargs}
Sean Dagueb56052b2013-05-21 17:57:41 -0400133
Matthew Treinish0e25a902016-04-29 16:38:51 -0400134[testenv:venv-tempest]
135envdir = .tox/tempest
136sitepackages = {[tempestenv]sitepackages}
137setenv = {[tempestenv]setenv}
138deps = {[tempestenv]deps}
139commands = {posargs}
140
Matthew Treinish8bd013e2014-06-18 21:58:32 -0400141[testenv:docs]
Mathew Oddenb389faa2015-07-30 20:24:08 +0000142commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900143 python setup.py build_sphinx {posargs}
Matthew Treinish8bd013e2014-06-18 21:58:32 -0400144
Jay Pipesa6aa5f22012-07-24 19:40:29 -0400145[testenv:pep8]
Matthew Treinish3d468112013-10-24 21:49:14 +0000146commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900147 flake8 {posargs}
148 check-uuid
Matthew Treinish3d468112013-10-24 21:49:14 +0000149
Chris Hoge7579c1a2015-02-26 14:12:15 -0800150[testenv:uuidgen]
151commands =
Masayuki Igawad81d3ce2016-04-20 15:00:54 +0900152 check-uuid --fix
Chris Hoge296558c2015-02-19 00:29:49 -0600153
Giampaolo Lauria1b837ce2013-05-01 11:22:07 -0400154[hacking]
Giampaolo Lauriad50c27d2013-05-23 15:23:12 -0400155local-check-factory = tempest.hacking.checks.factory
Matthew Treinish2b6db0c2014-05-17 10:42:36 -0400156import_exceptions = tempest.services
Giampaolo Lauria1b837ce2013-05-01 11:22:07 -0400157
Monty Taylorb2ca5ca2013-04-28 18:00:21 -0700158[flake8]
Joe Gordondca03dd2013-07-18 14:10:19 -0700159# E125 is a won't fix until https://github.com/jcrocholl/pep8/issues/126 is resolved. For further detail see https://review.openstack.org/#/c/36788/
Matthew Treinish96e9e882014-06-09 18:37:19 -0400160# E123 skipped because it is ignored by default in the default pep8
Matthew Treinish1d14c542014-06-17 20:25:40 -0400161# E129 skipped because it is too limiting when combined with other rules
Ken'ichi Ohmichi2e2ee192015-11-19 09:48:27 +0000162ignore = E125,E123,E129
Monty Taylorb2ca5ca2013-04-28 18:00:21 -0700163show-source = True
ChangBo Guo(gcb)6ebbc012016-09-21 13:40:42 +0800164exclude = .git,.venv,.tox,dist,doc,*egg
Jordan Pittier525ec712016-12-07 17:51:26 +0100165enable-extensions = H106,H203,H904
Masayuki Igawa134d9f72017-02-10 18:05:26 +0900166import-order-style = pep8
Andrea Frittoli (andreaf)897ecfb2016-02-23 10:12:48 -0500167
168[testenv:releasenotes]
169commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
Jordan Pittiercefaa2b2016-07-22 13:04:26 +0200170
171[testenv:pip-check-reqs]
172# Do not install test-requirements as that will pollute the virtualenv for
173# determining missing packages.
174# This also means that pip-check-reqs must be installed separately, outside
175# of the requirements.txt files
176deps = pip_check_reqs
177 -r{toxinidir}/requirements.txt
178commands=
179 pip-extra-reqs -d --ignore-file=tempest/tests/* tempest
180 pip-missing-reqs -d --ignore-file=tempest/tests/* tempest
Chandan Kumarac5c5532016-11-30 18:49:26 +0530181
182
183[testenv:bindep]
184# Do not install any requirements. We want this to be fast and work even if
185# system dependencies are missing, since it's used to tell you what system
186# dependencies are missing! This also means that bindep must be installed
187# separately, outside of the requirements files.
188deps = bindep
189commands = bindep test