summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Treinish <mtreinish@kortar.org>2014-09-23 17:39:38 -0400
committerMatthew Treinish <mtreinish@kortar.org>2014-09-29 14:26:51 -0400
commit5b7626a123710729267450e6426c075521d774c6 (patch)
tree10ef0561d67694e92b54ff23932804edc4d3d094
parente1f0055ecd68759f2d0e752c74079dc43d9b059f (diff)
downloadtempest-5b7626a123710729267450e6426c075521d774c6.tar.gz
Clean up tox.ini and make tempest and unit test distinct
This commit creates a separate base env for tempest tests and tempest's unit tests. However, to keep the same interface the tempest env is setup by overloading the testenv using substitution from a common base section. As part of this internal reorganization in the tox.ini several other things are cleaned up or removed. Usless or duplicate job definitions are removed. The unit tests are switched to pretty_tox. Previously they were run without any output which made it difficult to figure out exactly what was running. Additionally, this removes the unnecessary regex filter on the unit test job. The unit tests use a different discovery path so there is no need to also filter it on the same path this will allow the use of more specific regexes with tox to filter tests. Change-Id: I996d81dec2739bbe907f5fe87a335994c01697b3
-rw-r--r--tox.ini78
1 files changed, 36 insertions, 42 deletions
diff --git a/tox.ini b/tox.ini
index cab59a83a..7abe989e1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -3,79 +3,78 @@ envlist = pep8,py27
minversion = 1.6
skipsdist = True
-[testenv]
+[tempestenv]
+sitepackages = True
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=./tempest/test_discover
+deps = -r{toxinidir}/requirements.txt
+
+[testenv]
+setenv = VIRTUAL_ENV={envdir}
+ OS_TEST_PATH=./tempest/tests
usedevelop = True
install_command = pip install -U {opts} {packages}
-whitelist_externals = bash
-
-
-[testenv:py26]
-setenv = OS_TEST_PATH=./tempest/tests
-commands = python setup.py test --slowest --testr-arg='tempest\.tests {posargs}'
-
-[testenv:py33]
-setenv = OS_TEST_PATH=./tempest/tests
-commands = python setup.py test --slowest --testr-arg='tempest\.tests {posargs}'
-
-[testenv:py34]
-setenv = OS_TEST_PATH=./tempest/tests
- PYTHONHASHSEED=0
-commands = python setup.py test --slowest --testr-arg='tempest\.tests {posargs}'
-
-[testenv:py27]
-setenv = OS_TEST_PATH=./tempest/tests
-commands = python setup.py test --slowest --testr-arg='tempest\.tests {posargs}'
+whitelist_externals = *
+deps = -r{toxinidir}/requirements.txt
+ -r{toxinidir}/test-requirements.txt
+commands = bash tools/pretty_tox.sh '{posargs}'
[testenv:cover]
setenv = OS_TEST_PATH=./tempest/tests
commands = python setup.py testr --coverage --testr-arg='tempest\.tests {posargs}'
-deps = -r{toxinidir}/requirements.txt
- -r{toxinidir}/test-requirements.txt
[testenv:all]
-sitepackages = True
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
commands =
bash tools/pretty_tox.sh '{posargs}'
[testenv:full]
-sitepackages = True
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag:
# See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610
commands =
bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
[testenv:full-serial]
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag:
# See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610
commands =
bash tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
-[testenv:testr-full]
-sitepackages = True
-commands =
- bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}'
-
[testenv:heat-slow]
-sitepackages = True
-setenv = OS_TEST_TIMEOUT=1200
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+ OS_TEST_TIMEOUT=1200
+deps = {[tempestenv]deps}
# The regex below is used to select heat api/scenario tests tagged as slow.
commands =
bash tools/pretty_tox.sh '(?=.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)\.orchestration) {posargs}'
[testenv:large-ops]
-sitepackages = True
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
commands =
python setup.py testr --slowest --testr-args='tempest.scenario.test_large_ops {posargs}'
[testenv:smoke]
-sitepackages = True
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
commands =
bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}'
[testenv:smoke-serial]
-sitepackages = True
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
# This is still serial because neutron doesn't work with parallel. See:
# https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke
# job would fail if we moved it to parallel.
@@ -83,19 +82,17 @@ commands =
bash tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}'
[testenv:stress]
-sitepackages = True
+sitepackages = {[tempestenv]sitepackages}
+setenv = {[tempestenv]setenv}
+deps = {[tempestenv]deps}
commands =
run-tempest-stress -a -d 3600 -S
[testenv:venv]
commands = {posargs}
-deps = -r{toxinidir}/requirements.txt
- -r{toxinidir}/test-requirements.txt
[testenv:docs]
commands = python setup.py build_sphinx {posargs}
-deps = -r{toxinidir}/requirements.txt
- -r{toxinidir}/test-requirements.txt
[testenv:pep8]
setenv = PYTHONHASHSEED=0
@@ -103,9 +100,6 @@ commands =
flake8 {posargs}
{toxinidir}/tools/config/check_uptodate.sh
-deps = -r{toxinidir}/requirements.txt
- -r{toxinidir}/test-requirements.txt
-
[hacking]
local-check-factory = tempest.hacking.checks.factory
import_exceptions = tempest.services