701e3bf707
When running the tox tests, use the default version of Python 3. Instead of having to update the Python 3 version as we move from py34 -> py35 -> py36 -> py37 -> py38 Just use the default version of Python 3 on the system. This will not affect what gets run in the gate, as the version is explicitly specified when it runs there. This is for developers who run the tests locally. Change-Id: Iab9cd250dafb42f775f50bec2c69eaa2daaab574
118 lines
3.5 KiB
INI
118 lines
3.5 KiB
INI
[tox]
|
||
minversion = 1.8
|
||
skipsdist = True
|
||
envlist = py3,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
|
||
PYTHONWARNINGS=default::DeprecationWarning
|
||
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:unit-with-driver-libs]
|
||
basepython = python2
|
||
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]
|
||
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}
|
||
# 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
|
||
PYTHON=coverage run --source ironic --omit='*tests*' --parallel-mode
|
||
commands =
|
||
coverage erase
|
||
ostestr {posargs}
|
||
coverage combine
|
||
coverage report --omit='*tests*'
|
||
coverage html -d ./cover --omit='*tests*'
|
||
|
||
[testenv:checkconfig]
|
||
sitepackages = False
|
||
envdir = {toxworkdir}/venv
|
||
commands =
|
||
{toxinidir}/tools/config/check_uptodate.sh
|
||
|
||
[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]
|
||
# FIXME(dtantsur): workaround for bug #1714025
|
||
basepython = python2
|
||
setenv = PYTHONHASHSEED=0
|
||
sitepackages = False
|
||
envdir = {toxworkdir}/venv
|
||
commands =
|
||
python setup.py build_sphinx
|
||
|
||
[testenv:api-ref]
|
||
# This environment is called from CI scripts to test and publish
|
||
# the API Ref to developer.openstack.org.
|
||
whitelist_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]
|
||
commands =
|
||
{toxinidir}/tools/check-releasenotes.py
|
||
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:venv]
|
||
setenv = PYTHONHASHSEED=0
|
||
commands = {posargs}
|
||
|
||
[flake8]
|
||
# TODO(vdrok): Remove I202 from ignore list when we split out
|
||
# the tempest plugin
|
||
ignore = E129,I202
|
||
filename = *.py,app.wsgi
|
||
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
||
import-order-style = pep8
|
||
application-import-names = ironic
|
||
max-complexity=17
|
||
# [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.
|
||
# [H904] Delay string interpolations at logging calls.
|
||
enable-extensions=H106,H203,H204,H205,H904
|
||
|
||
[hacking]
|
||
import_exceptions = testtools.matchers, ironic.common.i18n
|