e27e7ed4a9
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. Post jobs are not yet compatible with the upper-constraints file, so override the install_command there to skip upper-constraints. Blatantly cribbed from the equivalent trove patch: https://review.openstack.org/#/c/298850 Change-Id: I73aa8cf37adc36db2c56a8f29ea165775a83dc7f Closes-Bug: #1563038
93 lines
3.2 KiB
INI
93 lines
3.2 KiB
INI
[tox]
|
|
minversion = 1.8
|
|
skipsdist = True
|
|
envlist = py34,py27,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}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
LANGUAGE=en_US
|
|
LC_ALL=en_US.UTF-8
|
|
TESTS_DIR=./ironic/tests/unit/
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = ostestr {posargs}
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
|
|
|
[testenv:genstates]
|
|
deps = {[testenv]deps}
|
|
pydot2
|
|
commands = {toxinidir}/tools/states_to_dot.py -f {toxinidir}/doc/source/images/states.svg --format svg
|
|
|
|
[testenv:pep8]
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash tools/flake8wrap.sh {posargs}
|
|
# Run bashate during pep8 runs to ensure violations are caught by
|
|
# the check and gate queues.
|
|
{toxinidir}/tools/run_bashate.sh {toxinidir}/devstack
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find ironic -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
# Check the *.rst files
|
|
doc8 README.rst CONTRIBUTING.rst doc/source --ignore D001
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
LANGUAGE=en_US
|
|
# 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}
|
|
commands =
|
|
python setup.py testr --coverage {posargs}
|
|
|
|
[testenv:checkconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands =
|
|
{toxinidir}/tools/config/check_uptodate.sh
|
|
|
|
[testenv:genconfig]
|
|
whitelist_externals = bash
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands =
|
|
bash tools/config/generate_sample.sh -b . -p ironic -o etc/ironic
|
|
|
|
[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}
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:venv]
|
|
setenv = PYTHONHASHSEED=0
|
|
# 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}
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
ignore = E129
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
|
max-complexity=17
|
|
|
|
[hacking]
|
|
import_exceptions = testtools.matchers, ironic.common.i18n
|