e5d35ba65c
The lower-constraints test was removed becuase of an issue where pip could not correctly determine the required packages versions to install, ending in an almost infinite loop that would end up in timeout, failure, and general mayhem. Recently the issue has been fixed and, if properly configured, the lower-constraints test can provide good indication of which minimum versions are required to support the current code. This patch adds the test back to the current development branch. The long term goal is to keep the lower-constraints file in the stable branches, but remove the test job to avoid issues during backports. Change-Id: I5fff32ec5dd1a045116bcf02349650b1f5e3a196
162 lines
4.9 KiB
INI
162 lines
4.9 KiB
INI
[tox]
|
||
minversion = 3.18.0
|
||
skipsdist = True
|
||
envlist = py3,pep8
|
||
ignore_basepython_conflict=true
|
||
|
||
[testenv]
|
||
usedevelop = True
|
||
basepython = python3
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
PYTHONDONTWRITEBYTECODE = 1
|
||
LANGUAGE=en_US
|
||
LC_ALL=en_US.UTF-8
|
||
PYTHONWARNINGS=default::DeprecationWarning
|
||
TESTS_DIR=./ironic/tests/unit/
|
||
deps =
|
||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||
-r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
commands =
|
||
stestr run --slowest {posargs}
|
||
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
||
|
||
[testenv:unit-with-driver-libs]
|
||
deps = {[testenv]deps}
|
||
-r{toxinidir}/driver-requirements.txt
|
||
|
||
[testenv:genstates]
|
||
deps = {[testenv]deps}
|
||
pydot2
|
||
commands = {toxinidir}/tools/states_to_dot.py -f {toxinidir}/doc/source/images/states.svg --format svg
|
||
|
||
[testenv:pep8]
|
||
usedevelop = False
|
||
deps=
|
||
hacking>=4.1.0,<5.0.0 # Apache-2.0
|
||
doc8>=0.6.0 # Apache-2.0
|
||
pycodestyle>=2.0.0,<3.0.0 # MIT
|
||
flake8-import-order>=0.17.1 # LGPLv3
|
||
Pygments>=2.2.0 # BSD
|
||
bashate>=0.5.1 # Apache-2.0
|
||
allowlist_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}
|
||
# Check the *.rst files
|
||
doc8 README.rst CONTRIBUTING.rst doc/source --ignore D001
|
||
# Check to make sure reno releasenotes created with 'reno new'
|
||
{toxinidir}/tools/check-releasenotes.py
|
||
|
||
[testenv:cover]
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
LANGUAGE=en_US
|
||
PYTHON=coverage run --source ironic --omit='*tests*' --parallel-mode
|
||
commands =
|
||
coverage erase
|
||
stestr run {posargs}
|
||
coverage combine
|
||
coverage report --omit='*tests*'
|
||
coverage html -d ./cover --omit='*tests*'
|
||
|
||
[testenv:genconfig]
|
||
sitepackages = False
|
||
envdir = {toxworkdir}/venv
|
||
commands =
|
||
oslo-config-generator --config-file=tools/config/ironic-config-generator.conf
|
||
|
||
[testenv:genpolicy]
|
||
sitepackages = False
|
||
envdir = {toxworkdir}/venv
|
||
commands =
|
||
oslopolicy-sample-generator --config-file=tools/policy/ironic-policy-generator.conf
|
||
|
||
[testenv:debug]
|
||
commands = oslo_debug_helper -t ironic/tests/unit {posargs}
|
||
|
||
[testenv:docs]
|
||
# NOTE(dtantsur): documentation building process requires importing ironic
|
||
deps =
|
||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||
-r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -b html -W doc/source doc/build/html
|
||
|
||
[testenv:pdf-docs]
|
||
allowlist_externals = make
|
||
deps = {[testenv:docs]deps}
|
||
commands =
|
||
sphinx-build -W -b latex doc/source doc/build/pdf
|
||
make -C doc/build/pdf
|
||
|
||
|
||
[testenv:api-ref]
|
||
usedevelop = False
|
||
deps =
|
||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
allowlist_externals = bash
|
||
commands =
|
||
bash -c 'rm -rf api-ref/build'
|
||
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
||
|
||
[testenv:releasenotes]
|
||
usedevelop = False
|
||
deps =
|
||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands =
|
||
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:venv]
|
||
setenv = PYTHONHASHSEED=0
|
||
deps =
|
||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = {posargs}
|
||
|
||
[flake8]
|
||
# [E129] visually indented line with same indent as next logical line
|
||
# [E741] ambiguous variable name
|
||
# [W503] Line break before binary operator.
|
||
ignore = E129,E741,W503
|
||
filename = *.py,app.wsgi
|
||
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
||
import-order-style = pep8
|
||
application-import-names = ironic
|
||
max-complexity=19
|
||
# [H106] Don't put vim configuration in source files.
|
||
# [H203] Use assertIs(Not)None to check for None.
|
||
# [H204] Use assert(Not)Equal to check for equality.
|
||
# [H205] Use assert(Greater|Less)(Equal) for comparison.
|
||
# [H210] Require ‘autospec’, ‘spec’, or ‘spec_set’ in mock.patch/mock.patch.object calls
|
||
# [H904] Delay string interpolations at logging calls.
|
||
enable-extensions=H106,H203,H204,H205,H210,H904
|
||
# [E402] Module level import not at top of file
|
||
per-file-ignores =
|
||
ironic/cmd/__init__.py:E402
|
||
ironic/tests/base.py:E402
|
||
|
||
[hacking]
|
||
import_exceptions = testtools.matchers, ironic.common.i18n
|
||
|
||
[flake8:local-plugins]
|
||
# [N323] Found use of _() without explicit import of _!
|
||
extension =
|
||
N323 = checks:check_explicit_underscore_import
|
||
paths = ./ironic/hacking/
|
||
|
||
[testenv:bandit]
|
||
usedevelop = False
|
||
deps = -r{toxinidir}/test-requirements.txt
|
||
commands = bandit -r ironic -x tests -n5 -ll -c tools/bandit.yml
|
||
|
||
[testenv:lower-constraints]
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/requirements.txt
|