diff --git a/tox.ini b/tox.ini index 71b3604d1c41..c1388cd4923d 100644 --- a/tox.ini +++ b/tox.ini @@ -10,7 +10,7 @@ whitelist_externals = bash find rm install_command = - constraints: pip install -U --force-reinstall -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} + constraints: {[testenv:common-constraints]install_command} pip install -U --force-reinstall {opts} {packages} setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=./nova/tests/unit @@ -27,10 +27,18 @@ passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY [tox:jenkins] downloadcache = ~/cache/pip +[testenv:common-constraints] +install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} + [testenv:pep8] commands = bash tools/flake8wrap.sh {posargs} +[testenv:pep8-constraints] +install_command = {[testenv:common-constraints]install_command} +commands = + bash tools/flake8wrap.sh {posargs} + [testenv:py34] setenv = {[testenv]setenv} commands = @@ -38,6 +46,13 @@ commands = python -m subunit.run discover -t . ./nova/tests/ --list ostestr --blacklist_file tests-py3.txt +[testenv:py34-constraints] +install_command = {[testenv:common-constraints]install_command} +setenv = {[testenv]setenv} +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt +commands = {[testenv:py34]commands} + [testenv:functional] usedevelop = True install_command = pip install -U --force-reinstall {opts} {packages} @@ -48,6 +63,14 @@ commands = find . -type f -name "*.pyc" -delete bash tools/pretty_tox.sh '{posargs}' +[testenv:functional-constraints] +usedevelop = {[testenv:functional]usedevelop} +install_command = {[testenv:common-constraints]install_command} +setenv = {[testenv:functional]setenv} +commands = + find . -type f -name "*.pyc" -delete + bash tools/pretty_tox.sh '{posargs}' + [testenv:genconfig] commands = oslo-config-generator --config-file=etc/nova/nova-config-generator.conf @@ -61,9 +84,24 @@ commands = coverage combine coverage html --include='nova/*' --omit='nova/openstack/common/*' -d covhtml -i +[testenv:cover-constraints] +install_command = {[testenv:common-constraints]install_command} +# Also do not run test_coverage_ext tests while gathering coverage as those +# tests conflict with coverage. +commands = + coverage erase + python setup.py testr --coverage \ + --testr-args='{posargs}' + coverage combine + coverage html --include='nova/*' --omit='nova/openstack/common/*' -d covhtml -i + [testenv:venv] commands = {posargs} +[testenv:venv-constraints] +install_command = {[testenv:common-constraints]install_command} +commands = {posargs} + [testenv:docs] commands = rm -rf doc/source/api doc/build @@ -71,6 +109,10 @@ commands = bash -c '! find doc/ -type f -name *.json | xargs -t -n1 python -m json.tool 2>&1 > /dev/null | grep -B1 -v ^python' oslo-config-generator --config-file=etc/nova/nova-config-generator.conf +[testenv:docs-constraints] +install_command = {[testenv:common-constraints]install_command} +commands = {[testenv:docs]commands} + [testenv:bandit] commands = bandit -c bandit.yaml -r nova -n 5 -ll