380e384f18
This reverts commit be63289c27
.
Yes, it's a third order revert. Ain't it cool?
Now that tox 2.3.1 is used in gate, and it is expected to fix the issue
that we originally hacked around here, let's revert to the previous
code.
For the least, it makes API target executable locally without the need
to set TEMPEST_CONFIG_DIR in the external environment.
Also bump minimal tox version to 2.3 to avoid users hitting the old
issue with their tox 2.2.* package.
Change-Id: Ic64cb466d117ad39436cb1d079c8f5657260da2c
Related-Bug: #1515335
198 lines
6.3 KiB
INI
198 lines
6.3 KiB
INI
[tox]
|
||
envlist = docs,py34,py27,pep8
|
||
minversion = 2.3
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
passenv = TRACE_FAILONLY
|
||
usedevelop = True
|
||
install_command =
|
||
constraints: {[testenv:common-constraints]install_command}
|
||
pip install -U {opts} {packages}
|
||
deps = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
whitelist_externals = sh
|
||
commands =
|
||
dsvm-functional: {toxinidir}/tools/deploy_rootwrap.sh {toxinidir} {envdir}/etc {envdir}/bin
|
||
ostestr --regex '{posargs}'
|
||
# there is also secret magic in ostestr which lets you run in a fail only
|
||
# mode. To do this define the TRACE_FAILONLY environmental variable.
|
||
|
||
[testenv:api]
|
||
basepython = python2.7
|
||
passenv = {[testenv]passenv} TEMPEST_CONFIG_DIR
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./neutron/tests/api
|
||
TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:/opt/stack/tempest/etc}
|
||
OS_TEST_API_WITH_REST=1
|
||
|
||
[testenv:api-constraints]
|
||
basepython = {[testenv:api]basepython}
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
passenv = {[testenv:api]passenv}
|
||
setenv = {[testenv:api]setenv}
|
||
|
||
[testenv:common]
|
||
# Fake job to define environment variables shared between dsvm/non-dsvm jobs
|
||
setenv = OS_TEST_TIMEOUT=180
|
||
commands = false
|
||
|
||
[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:dsvm]
|
||
# Fake job to define environment variables shared between dsvm jobs
|
||
setenv = OS_SUDO_TESTING=1
|
||
OS_ROOTWRAP_CMD=sudo {envdir}/bin/neutron-rootwrap {envdir}/etc/neutron/rootwrap.conf
|
||
OS_ROOTWRAP_DAEMON_CMD=sudo {envdir}/bin/neutron-rootwrap-daemon {envdir}/etc/neutron/rootwrap.conf
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
commands = false
|
||
|
||
[testenv:functional]
|
||
basepython = python2.7
|
||
setenv = {[testenv]setenv}
|
||
{[testenv:common]setenv}
|
||
OS_TEST_PATH=./neutron/tests/functional
|
||
deps =
|
||
{[testenv]deps}
|
||
-r{toxinidir}/neutron/tests/functional/requirements.txt
|
||
|
||
[testenv:functional-constraints]
|
||
basepython = {[testenv:functional]basepython}
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
setenv = {[testenv:functional]setenv}
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
|
||
[testenv:functional-py34]
|
||
basepython = python3.4
|
||
setenv = {[testenv:functional]setenv}
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
|
||
[testenv:dsvm-functional]
|
||
basepython = python2.7
|
||
setenv = {[testenv:functional]setenv}
|
||
{[testenv:dsvm]setenv}
|
||
sitepackages=True
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
|
||
[testenv:dsvm-functional-constraints]
|
||
basepython = {[testenv:dsvm-functional]basepython}
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
setenv = {[testenv:dsvm-functional]setenv}
|
||
sitepackages={[testenv:dsvm-functional]sitepackages}
|
||
deps =
|
||
{[testenv:functional-constraints]deps}
|
||
|
||
[testenv:dsvm-functional-py34]
|
||
basepython = python3.4
|
||
setenv = {[testenv:dsvm-functional]setenv}
|
||
sitepackages={[testenv:dsvm-functional]sitepackages}
|
||
deps =
|
||
{[testenv:dsvm-functional]deps}
|
||
|
||
[testenv:dsvm-fullstack]
|
||
setenv = {[testenv]setenv}
|
||
{[testenv:common]setenv}
|
||
{[testenv:dsvm]setenv}
|
||
OS_TEST_PATH=./neutron/tests/fullstack
|
||
sitepackages=True
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
|
||
[testenv:dsvm-fullstack-constraints]
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
setenv =
|
||
{[testenv:dsvm-fullstack]setenv}
|
||
sitepackages={[testenv:dsvm-fullstack]sitepackages}
|
||
deps =
|
||
{[testenv:functional-constraints]deps}
|
||
|
||
[testenv:releasenotes]
|
||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:pep8]
|
||
basepython = python2.7
|
||
deps =
|
||
{[testenv]deps}
|
||
commands=
|
||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||
sh ./tools/misc-sanity-checks.sh
|
||
{toxinidir}/tools/check_unit_test_structure.sh
|
||
# Checks for coding and style guidelines
|
||
flake8
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --config-file neutron/tests/etc/neutron.conf check_migration
|
||
{[testenv:genconfig]commands}
|
||
whitelist_externals =
|
||
sh
|
||
bash
|
||
|
||
[testenv:pep8-constraints]
|
||
basepython = {[testenv:pep8]basepython}
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
deps =
|
||
{[testenv]deps}
|
||
commands=
|
||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||
sh ./tools/misc-sanity-checks.sh
|
||
{toxinidir}/tools/check_unit_test_structure.sh
|
||
# Checks for coding and style guidelines
|
||
flake8
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --config-file neutron/tests/etc/neutron.conf check_migration
|
||
{[testenv:genconfig]commands}
|
||
whitelist_externals = {[testenv:pep8]whitelist_externals}
|
||
|
||
[testenv:cover]
|
||
basepython = python2.7
|
||
commands =
|
||
python setup.py testr --coverage --testr-args='{posargs}'
|
||
coverage report
|
||
|
||
[testenv:cover-constraints]
|
||
basepython = {[testenv:cover]basepython}
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
commands =
|
||
python setup.py testr --coverage --testr-args='{posargs}'
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|
||
|
||
[testenv:venv-constraints]
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
commands = {posargs}
|
||
|
||
[testenv:docs]
|
||
commands = sphinx-build -W -b html doc/source doc/build/html
|
||
|
||
[testenv:docs-constraints]
|
||
install_command = {[testenv:common-constraints]install_command}
|
||
commands = {[testenv:docs]commands}
|
||
|
||
[flake8]
|
||
# E125 continuation line does not distinguish itself from next logical line
|
||
# E126 continuation line over-indented for hanging indent
|
||
# E128 continuation line under-indented for visual indent
|
||
# E129 visually indented line with same indent as next logical line
|
||
# E265 block comment should start with ‘# ‘
|
||
# H404 multi line docstring should start with a summary
|
||
# H405 multi line docstring summary not separated with an empty line
|
||
ignore = E125,E126,E128,E129,E265,H404,H405
|
||
show-source = true
|
||
builtins = _
|
||
# neutron/tests/tempest needs to be excluded so long as it continues
|
||
# to be copied directly from tempest, since tempest and neutron do not
|
||
# share a flake8 configuration.
|
||
exclude = ./.*,build,dist,neutron/openstack/common/*,neutron/tests/tempest
|
||
|
||
[hacking]
|
||
import_exceptions = neutron.i18n, neutron._i18n
|
||
local-check-factory = neutron.hacking.checks.factory
|
||
|
||
[testenv:genconfig]
|
||
commands = {toxinidir}/tools/generate_config_file_samples.sh
|