
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: I2cb16250241781abe7c5a7d7de37612f07ff2b0b Signed-off-by: Doug Hellmann <doug@doughellmann.com>
115 lines
3.5 KiB
INI
115 lines
3.5 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]
|
|
basepython = python3
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
commands = bandit -r novaclient -n5 -x tests
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
# 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
|