d68f26ab95
For compliance with the Project Testing Interface as described in [1]. For more detailed information, please refer to [2]. [1] https://governance.openstack.org/tc/reference/project-testing-interface.html [2] http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html Change-Id: Iace251446bafbd8963bc5a073de50ade583f6e46
96 lines
2.9 KiB
INI
96 lines
2.9 KiB
INI
# noted to use py35 you need virtualenv >= 1.11.4
|
|
[tox]
|
|
envlist = py35,py27,pypy,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]
|
|
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
|