da910ace0f
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: Idba5b407405e7d1457a02b074bf60b7fded284ee Signed-off-by: Doug Hellmann <doug@doughellmann.com>
211 lines
6.0 KiB
INI
211 lines
6.0 KiB
INI
[tox]
|
||
minversion = 1.6
|
||
envlist = py35,py27,pep8
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
usedevelop = True
|
||
install_command =
|
||
pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages}
|
||
whitelist_externals = bash
|
||
find
|
||
rm
|
||
setenv =
|
||
VIRTUAL_ENV={envdir}
|
||
PYTHONWARNINGS=default::DeprecationWarning
|
||
deps = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
passenv = TEMPEST_* OS_TEST_*
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
rm -f .testrepository/times.dbm
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:debug]
|
||
basepython = python3
|
||
commands = oslo_debug_helper -t magnum/tests/unit {posargs}
|
||
|
||
[testenv:debug-py27]
|
||
basepython = python2.7
|
||
commands = oslo_debug_helper -t magnum/tests/unit {posargs}
|
||
|
||
[testenv:debug-py35]
|
||
basepython = python3.5
|
||
commands = oslo_debug_helper -t magnum/tests/unit {posargs}
|
||
|
||
[testenv:functional-api]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/api
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:functional-k8s]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/k8s
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:functional-k8s-ironic]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/k8s_ironic
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:functional-k8s-coreos]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/k8s_coreos
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:functional-swarm]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/swarm
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:functional-swarm-mode]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/swarm_mode
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:functional-mesos]
|
||
sitepackages = True
|
||
setenv = {[testenv]setenv}
|
||
OS_TEST_PATH=./magnum/tests/functional/mesos
|
||
OS_TEST_TIMEOUT=7200
|
||
deps =
|
||
{[testenv]deps}
|
||
commands =
|
||
find . -type f -name "*.py[c|o]" -delete
|
||
bash tools/pretty_tox.sh '{posargs}'
|
||
|
||
[testenv:pep8]
|
||
basepython = python3
|
||
commands =
|
||
doc8 -e .rst specs/ doc/source/ contrib/ CONTRIBUTING.rst HACKING.rst README.rst
|
||
bash tools/flake8wrap.sh {posargs}
|
||
bandit -r magnum -x tests -n5 -ll
|
||
bash -c "find {toxinidir} \
|
||
-not \( -type d -name .?\* -prune \) \
|
||
-not \( -type d -name doc -prune \) \
|
||
-not \( -type d -name contrib -prune \) \
|
||
-type f \
|
||
-name \*.sh \
|
||
-print0 | xargs -0 bashate -v -iE006,E010,E042 -eE005"
|
||
|
||
[testenv:venv]
|
||
basepython = python3
|
||
commands = {posargs}
|
||
|
||
[testenv:bandit]
|
||
basepython = python3
|
||
deps = -r{toxinidir}/test-requirements.txt
|
||
commands = bandit -r magnum -x tests -n5 -ll
|
||
|
||
[testenv:cover]
|
||
basepython = python3
|
||
commands = {toxinidir}/tools/cover.sh {posargs}
|
||
|
||
[testenv:docs]
|
||
basepython = python3
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -W -b html doc/source doc/build/html
|
||
|
||
[testenv:genconfig]
|
||
basepython = python3
|
||
commands =
|
||
oslo-config-generator --config-file etc/magnum/magnum-config-generator.conf
|
||
|
||
[testenv:genpolicy]
|
||
basepython = python3
|
||
commands =
|
||
oslopolicy-sample-generator --config-file etc/magnum/magnum-policy-generator.conf
|
||
|
||
[flake8]
|
||
# H106 Don’t put vim configuration in source files
|
||
# H203 Use assertIs(Not)None to check for None
|
||
# H904 Delay string interpolations at logging calls
|
||
filename = *.py,app.wsgi
|
||
enable-extensions = H106,H203,H904
|
||
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,tools,releasenotes
|
||
|
||
[hacking]
|
||
local-check-factory = magnum.hacking.checks.factory
|
||
|
||
[testenv:pip-check-reqs]
|
||
basepython = python3
|
||
# 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
|
||
-rrequirements.txt
|
||
commands=pip-missing-reqs -d --ignore-file=magnum/tests/* magnum
|
||
|
||
[testenv:releasenotes]
|
||
basepython = python3
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands =
|
||
rm -rf releasenotes/build
|
||
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:install-guide]
|
||
basepython = python3
|
||
commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html
|
||
|
||
[testenv:api-ref]
|
||
basepython = python3
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands =
|
||
rm -rf api-ref/build
|
||
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
||
|
||
[testenv:lower-constraints]
|
||
basepython = python3
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/requirements.txt
|
||
|
||
# This environment can be used to quickly validate that all needed system
|
||
# packages required to successfully execute test targets are installed
|
||
[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
|