cefaa2badd
That new tox target checks that we don't have missing requirements in requirements.txt AND that we don't have superfluous (unused) requirements in requirements.txt. That patch is copy/pasted from I014375a5ecfebc723541c2f2db6c2e0fba636aa2 which tried to do the same for Nova (unmerged yet for an unknown reason). This change also includes the fixes to requirements.txt needed to pass the new tests. Change-Id: Iff37af95269c38e4d435a53a21e5d60e2c5a3fa8
172 lines
5.1 KiB
INI
172 lines
5.1 KiB
INI
[tox]
|
|
envlist = pep8,py35,py34,py27,pip-check-reqs
|
|
minversion = 2.3.1
|
|
skipsdist = True
|
|
|
|
[tempestenv]
|
|
sitepackages = False
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_TEST_PATH=./tempest/test_discover
|
|
deps =
|
|
setuptools
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv]
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_TEST_PATH=./tempest/tests
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
passenv = OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_TEST_TIMEOUT OS_TEST_LOCK_PATH OS_TEST_PATH TEMPEST_CONFIG TEMPEST_CONFIG_DIR http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
whitelist_externals = *
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
bash tools/pretty_tox.sh '{posargs}'
|
|
|
|
[testenv:genconfig]
|
|
commands = oslo-config-generator --config-file tempest/cmd/config-generator.tempest.conf
|
|
|
|
[testenv:cover]
|
|
setenv = OS_TEST_PATH=./tempest/tests
|
|
commands = python setup.py testr --coverage --testr-arg='tempest\.tests {posargs}'
|
|
|
|
[testenv:all]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
# 'all' includes slow tests
|
|
setenv =
|
|
{[tempestenv]setenv}
|
|
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {posargs}
|
|
|
|
[testenv:ostestr]
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
# 'all' includes slow tests
|
|
setenv =
|
|
{[tempestenv]setenv}
|
|
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
ostestr {posargs}
|
|
|
|
[testenv:all-plugin]
|
|
sitepackages = True
|
|
# 'all' includes slow tests
|
|
setenv =
|
|
{[tempestenv]setenv}
|
|
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {posargs}
|
|
|
|
[testenv:full]
|
|
envdir = .tox/tempest
|
|
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 testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario))' {posargs}
|
|
|
|
[testenv:full-serial]
|
|
envdir = .tox/tempest
|
|
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 testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario))' {posargs}
|
|
|
|
[testenv:smoke]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex '\[.*\bsmoke\b.*\]' {posargs}
|
|
|
|
[testenv:smoke-serial]
|
|
envdir = .tox/tempest
|
|
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.
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --serial --regex '\[.*\bsmoke\b.*\]' {posargs}
|
|
|
|
[testenv:stress]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
run-tempest-stress {posargs}
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:venv-tempest]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
python setup.py build_sphinx {posargs}
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs}
|
|
check-uuid
|
|
|
|
[testenv:uuidgen]
|
|
commands =
|
|
check-uuid --fix
|
|
|
|
[hacking]
|
|
local-check-factory = tempest.hacking.checks.factory
|
|
import_exceptions = tempest.services
|
|
|
|
[flake8]
|
|
# E125 is a won't fix until https://github.com/jcrocholl/pep8/issues/126 is resolved. For further detail see https://review.openstack.org/#/c/36788/
|
|
# E123 skipped because it is ignored by default in the default pep8
|
|
# E129 skipped because it is too limiting when combined with other rules
|
|
# Skipped because of new hacking 0.9: H405
|
|
ignore = E125,E123,E129
|
|
show-source = True
|
|
exclude = .git,.venv,.tox,dist,doc,*egg
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:pip-check-reqs]
|
|
# Do not install test-requirements as that will pollute the virtualenv for
|
|
# determining missing packages.
|
|
# This also means that pip-check-reqs must be installed separately, outside
|
|
# of the requirements.txt files
|
|
deps = pip_check_reqs
|
|
-r{toxinidir}/requirements.txt
|
|
commands=
|
|
pip-extra-reqs -d --ignore-file=tempest/tests/* tempest
|
|
pip-missing-reqs -d --ignore-file=tempest/tests/* tempest
|