ironic-python-agent/tox.ini
Jim Rollenhagen 4e35b0ee64 Use constraints for all the things
This configures tox to use upper-constraints for everything, except
environments used for post jobs (as constraints aren't supported there
yet).

This also doesn't enable constraints for our image builds, as it isn't
possible to pass an environment variable into the Dockerfile to allow
folks to choose their own constraints file (and we don't want to force
people to rely on git.o.o for building images).

Change-Id: I285855c6386f59e9dd352473aa28463109818c90
2016-05-19 10:08:56 -04:00

79 lines
2.7 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py34,py27,func,pep8
[testenv]
usedevelop = True
install_command = pip install -U -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_PATH=./ironic_python_agent/tests/unit
deps = -r{toxinidir}/test-requirements.txt
commands = ostestr {posargs}
[testenv:func]
usedevelop = True
# Define virtualenv directory, port to use for functional testing, and number
# of seconds to wait for the agent to come alive during functional testing.
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_PATH=./ironic_python_agent/tests/functional
TEST_PORT=9999
IPA_WAIT_TRIES=100
commands = ostestr {posargs}
[testenv:pep8]
commands =
flake8 {posargs:ironic_python_agent imagebuild}
doc8 doc/source README.rst
[testenv:cover]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the cover job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
commands =
python setup.py test --coverage --coverage-package-name ironic_python_agent {posargs}
[testenv:venv]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the docs job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
setenv = PYTHONHASHSEED=0
commands = {posargs:}
[testenv:devenv]
envdir = devenv
usedevelop = True
[testenv:docs]
setenv = PYTHONHASHSEED=0
sitepackages = False
envdir = {toxworkdir}/venv
commands =
python setup.py build_sphinx
[testenv:releasenotes]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the releasenotes job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
envdir = {toxworkdir}/venv
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]
ignore = E129
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,*ironic/nova*,tools
[hacking]
import_exceptions = ironic.openstack.common.gettextutils._,testtools.matchers