Similar to what is happening in Neutron, this commit renames and moves unit test files so that they match the directory structure of the code tree. Since the VPN repo's test files have imports from Neutron, there are import changes as well, to the imports to match the Neutron test file organization. A check script is added to monitor the test file naming and locations (to ensure consistency). Change-Id: I875285230127ed660137d271f7e98d82eb57ffab Partial-Bug: #1440834
106 lines
3.5 KiB
INI
106 lines
3.5 KiB
INI
[tox]
|
||
envlist = py27,py33,py34,pep8,pylint
|
||
minversion = 1.6
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
# Note the hash seed is set to 0 until neutron can be tested with a
|
||
# random hash seed successfully.
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
PYTHONHASHSEED=0
|
||
usedevelop = True
|
||
install_command = pip install -U {opts} {packages}
|
||
deps = -egit+https://git.openstack.org/openstack/neutron#egg=neutron
|
||
-r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
whitelist_externals = sh
|
||
commands =
|
||
sh tools/pretty_tox.sh '{posargs}'
|
||
# there is also secret magic in pretty_tox.sh which lets you run in a fail only
|
||
# mode. To do this define the TRACE_FAILONLY environmental variable.
|
||
|
||
[testenv:hashtest]
|
||
# This is the same as default environment, but with a random PYTHONHASHSEED.
|
||
# You can also specify a specific hashseed (for test repeatability) as follows:
|
||
# tox --hashseed 1235130571 -e hashtest
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
|
||
[testenv:functional]
|
||
setenv = OS_TEST_PATH=./neutron-vpnaas/tests/functional
|
||
commands =
|
||
python setup.py testr --slowest --testr-args='{posargs}'
|
||
|
||
[testenv:dsvm-functional]
|
||
setenv = OS_TEST_PATH=./neutron_vpnaas/tests/functional/openswan
|
||
OS_SUDO_TESTING=1
|
||
OS_ROOTWRAP_CMD=sudo /usr/local/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
sitepackages=True
|
||
commands =
|
||
python setup.py testr --slowest --testr-args='{posargs}'
|
||
|
||
[testenv:dsvm-functional-sswan]
|
||
setenv = OS_TEST_PATH=./neutron_vpnaas/tests/functional/strongswan
|
||
OS_SUDO_TESTING=1
|
||
OS_ROOTWRAP_CMD=sudo /usr/local/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
sitepackages=True
|
||
commands =
|
||
python setup.py testr --slowest --testr-args='{posargs}'
|
||
|
||
[tox:jenkins]
|
||
sitepackages = True
|
||
downloadcache = ~/cache/pip
|
||
|
||
[testenv:pep8]
|
||
deps =
|
||
{[testenv]deps}
|
||
pylint
|
||
commands =
|
||
sh ./tools/check_bash.sh
|
||
flake8
|
||
pylint --rcfile=.pylintrc --output-format=colorized {posargs:neutron_vpnaas}
|
||
{toxinidir}/tools/check_unit_test_structure.sh
|
||
whitelist_externals = sh
|
||
|
||
[testenv:i18n]
|
||
commands = python ./tools/check_i18n.py ./neutron-vpnaas ./tools/i18n_cfg.py
|
||
|
||
[testenv:cover]
|
||
commands =
|
||
python setup.py testr --coverage --coverage-package-name=neutron_vpnaas --testr-args='{posargs}'
|
||
|
||
[testenv:dsvm-functional-cover]
|
||
setenv = {[testenv:dsvm-functional]setenv}
|
||
commands =
|
||
python setup.py testr --coverage --coverage-package-name=neutron_vpnaas --testr-args='{posargs}'
|
||
|
||
[testenv:dsvm-functional-sswan-cover]
|
||
setenv = {[testenv:dsvm-functional-sswan]setenv}
|
||
commands =
|
||
python setup.py testr --coverage --coverage-package-name=neutron_vpnaas --testr-args='{posargs}'
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|
||
|
||
[testenv:docs]
|
||
commands = python setup.py build_sphinx
|
||
|
||
[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 ‘# ‘
|
||
# H305 imports not grouped correctly
|
||
# H405 multi line docstring summary not separated with an empty line
|
||
# TODO(marun) H404 multi line docstring should start with a summary
|
||
ignore = E125,E126,E128,E129,E265,H305,H404,H405
|
||
show-source = true
|
||
builtins = _
|
||
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,.ropeproject,rally-scenarios
|
||
|
||
[hacking]
|
||
import_exceptions = neutron.i18n
|
||
local-check-factory = neutron.hacking.checks.factory
|