30c6f56365
This change adds a script to automate the copying of api tests from tempest in the style of oslo_incubator. The target path will be neutron/tests/tempest and no manual modifications should be made to this path until such time as neutron api test development is frozen in tempest and development can proceed in the neutron tree. Until that occurs, a policy of manual once-daily synchronization is suggested. The target path includes the name 'tempest' as a clear indication that this is not part of neutron, and that once development is allowed to proceed, its contents should be rewritten and removed until there is nothing left. So long as the tests exist in both the tempest and neutron trees, testing effort will be duplicated. The larger goal is to have the tests in question removed from tempest as per the qa guidelines [1], so this should be temporary. 1: https://wiki.openstack.org/wiki/QA/Tempest-test-removal Change-Id: I3cd55983e610a1d61aae565f88fe5017edba1090
95 lines
2.9 KiB
INI
95 lines
2.9 KiB
INI
[tox]
|
||
envlist = py27,py33,py34,pep8
|
||
minversion = 1.8
|
||
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 = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
whitelist_externals = sh
|
||
commands =
|
||
dsvm-functional: {toxinidir}/tools/deploy_rootwrap.sh {toxinidir} {envdir}/etc {envbindir}
|
||
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:api]
|
||
setenv = OS_TEST_PATH=./neutron/tests/api
|
||
|
||
[testenv:functional]
|
||
setenv = OS_TEST_PATH=./neutron/tests/functional
|
||
OS_TEST_TIMEOUT=90
|
||
deps =
|
||
{[testenv]deps}
|
||
-r{toxinidir}/neutron/tests/functional/requirements.txt
|
||
|
||
[testenv:dsvm-functional]
|
||
setenv = OS_TEST_PATH=./neutron/tests/functional
|
||
OS_SUDO_TESTING=1
|
||
OS_ROOTWRAP_CMD=sudo {envbindir}/neutron-rootwrap {envdir}/etc/neutron/rootwrap.conf
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
OS_TEST_TIMEOUT=90
|
||
sitepackages=True
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
|
||
[tox:jenkins]
|
||
sitepackages = True
|
||
downloadcache = ~/cache/pip
|
||
|
||
[testenv:pep8]
|
||
deps =
|
||
{[testenv]deps}
|
||
pylint
|
||
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
|
||
# Checks for coding and style guidelines
|
||
flake8
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage check_migration
|
||
whitelist_externals = sh
|
||
|
||
[testenv:cover]
|
||
commands =
|
||
python setup.py testr --coverage --testr-args='{posargs}'
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|
||
|
||
[testenv:docs]
|
||
commands = sphinx-build -W -b html doc/source doc/build
|
||
|
||
[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
|
||
# 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,H305,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
|
||
local-check-factory = neutron.hacking.checks.factory
|