Files
magnum/tox.ini
T
Niall Bunting dbcfe35111 Magnum's tox test should respect upper-constraints
This will force pip install to use the upper-constraints.txt specified
version of pip modules. When you don't do this, you are out on the
bleeding edge and become unstable everytime some python library in the
wide world changes in a way that you don't expect.

Change-Id: I962329075b11d3790dc586ba33fe19fc64f1e4f9
Closes-Bug: #1563038
2016-04-04 09:18:44 +00:00

143 lines
4.2 KiB
INI

[tox]
minversion = 1.6
envlist = py34,py27,pep8
skipsdist = True
[testenv]
usedevelop = True
install_command =
constraints: {[testenv:common-constraints]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
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
passenv = TEMPEST_* OS_TEST_*
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '{posargs}'
[testenv:debug]
commands = oslo_debug_helper {posargs}
[testenv:debug-py27]
basepython = python2.7
commands = oslo_debug_helper {posargs}
[testenv:common-constraints]
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
[testenv:functional-api]
sitepackages = True
setenv = OS_TEST_PATH=./magnum/tests/functional/api
OS_TEST_TIMEOUT=7200
deps =
{[testenv]deps}
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '{posargs}'
[testenv:functional-k8s]
sitepackages = True
setenv = OS_TEST_PATH=./magnum/tests/functional/k8s
OS_TEST_TIMEOUT=7200
deps =
{[testenv]deps}
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '{posargs}'
[testenv:functional-swarm]
sitepackages = True
setenv = OS_TEST_PATH=./magnum/tests/functional/swarm
OS_TEST_TIMEOUT=7200
deps =
{[testenv]deps}
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '{posargs}'
[testenv:functional-mesos]
sitepackages = True
setenv = OS_TEST_PATH=./magnum/tests/functional/mesos
OS_TEST_TIMEOUT=7200
deps =
{[testenv]deps}
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '{posargs}'
[testenv:pep8]
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
[testenv:pep8-constraints]
install_command = {[testenv:common-constraints]install_command}
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
[testenv:venv]
commands = {posargs}
[testenv:venv-constraints]
install_command = {[testenv:common-constraints]install_command}
commands = {posargs}
[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r magnum -x tests -n5 -ll
[testenv:bandit-constraints]
install_command = {[testenv:common-constraints]install_command}
deps = {[testenv:bandit]deps}
commands = {[testenv:bandit]commands}
[testenv:cover]
# NOTE(NiallBunting) Infra does not support constraints for the cover
# job. While the file is set no file is there. Can be removed once infra
# changes this.
install_command = pip install -U {opts} {packages}
commands = python setup.py testr --coverage --testr-args='{posargs}'
coverage report
[testenv:cover-constraints]
install_command = {[testenv:common-constraints]install_command}
commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:docs]
# NOTE(NiallBunting) This is a post job. So upper constraints will not
# apply here.
install_command = pip install -U {opts} {packages}
commands =
doc8 -e .rst specs/ doc/source/ contrib/ CONTRIBUTING.rst HACKING.rst README.rst
python setup.py build_sphinx
[testenv:docs-constraints]
install_command = {[testenv:common-constraints]install_command}
commands = {[testenv:docs]commands}
[testenv:genconfig]
commands =
oslo-config-generator --config-file etc/magnum/magnum-config-generator.conf
[flake8]
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,magnum/common/pythonk8sclient
[hacking]
local-check-factory = magnum.hacking.checks.factory
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_missing_reqs
-rrequirements.txt
commands=pip-missing-reqs -d --ignore-file=magnum/tests/* magnum