f36390dbce
Create a tox environment for running the unit tests against the lower bounds of the dependencies. Create a lower-constraints.txt to be used to enforce the lower bounds in those tests. Add openstack-tox-lower-constraints job to the zuul configuration. See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html for more details. Change-Id: I5c23fc5f4e31b461255865fb8973cc05c448e364 Depends-On: https://review.openstack.org/555034 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
108 lines
3.3 KiB
INI
108 lines
3.3 KiB
INI
# noted to use py35 you need virtualenv >= 1.11.4
|
|
[tox]
|
|
envlist = py35,py27,pep8,docs
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
# tox is silly... these need to be separated by a newline....
|
|
whitelist_externals = find
|
|
bash
|
|
passenv = ZUUL_CACHE_DIR
|
|
REQUIREMENTS_PIP_LOCATION
|
|
install_command = pip install {opts} {packages}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
bash 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:pep8]
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:bandit]
|
|
commands = bandit -r novaclient -n5 -x tests
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -b html doc/source doc/build/html
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:functional]
|
|
basepython = python2.7
|
|
passenv = OS_NOVACLIENT_TEST_NETWORK
|
|
setenv =
|
|
OS_TEST_PATH = ./novaclient/tests/functional
|
|
commands =
|
|
bash tools/pretty_tox.sh '--concurrency=1 {posargs}'
|
|
python novaclient/tests/functional/hooks/check_resources.py
|
|
|
|
[testenv:functional-py35]
|
|
basepython = python3.5
|
|
passenv = OS_NOVACLIENT_TEST_NETWORK
|
|
setenv =
|
|
OS_TEST_PATH = ./novaclient/tests/functional
|
|
commands =
|
|
bash tools/pretty_tox.sh '--concurrency=1 {posargs}'
|
|
python novaclient/tests/functional/hooks/check_resources.py
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
coverage report
|
|
|
|
[flake8]
|
|
# Following checks should be enabled in the future.
|
|
#
|
|
# H404 multi line docstring should start without a leading new line
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
#
|
|
# Following checks are ignored on purpose.
|
|
#
|
|
# Additional checks are also ignored on purpose: F811, F821
|
|
ignore = F811,F821,H404,H405
|
|
show-source = True
|
|
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build,doc/source/conf.py,releasenotes
|
|
|
|
[hacking]
|
|
import_exceptions = novaclient.i18n
|
|
|
|
[testenv:bindep]
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:lower-constraints]
|
|
basepython = python3
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|