
Since removing support for Python 2, we changed the basepython value to 3. This means that all the tox tests run with the default python version available in the system. This is not quite correct when running on environment such as py36, py37 or py38, since they imply running with different Python versions based on the environment. To enforce the correct version we need to add the option ignore_basepython_conflict available since tox 3.1.0 [0]. [0] https://tox.readthedocs.io/en/latest/config.html#conf-ignore_basepython_conflict Change-Id: I9731a9d99597f14b20e3ab7067ca5a060ec13835
93 lines
2.7 KiB
INI
93 lines
2.7 KiB
INI
[tox]
|
|
minversion = 3.1.0
|
|
envlist = py3,pep8,pypy
|
|
skipsdist = True
|
|
ignore_basepython_conflict=true
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
LANGUAGE=en_US
|
|
# .stestr.conf uses TESTS_DIR
|
|
TESTS_DIR=./ironicclient/tests/unit
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs}
|
|
doc8 doc/source CONTRIBUTING.rst README.rst
|
|
|
|
[testenv:cover]
|
|
setenv = {[testenv]setenv}
|
|
PYTHON=coverage run --source ironicclient --omit='*tests*' --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage report --omit='*tests*'
|
|
coverage html -d ./cover --omit='*tests*'
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:functionalpy3]
|
|
passenv = *
|
|
setenv = TESTS_DIR=./ironicclient/tests/functional
|
|
LANGUAGE=en_US
|
|
OS_TESTENV_NAME = {envname}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
whitelist_externals = make
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[flake8]
|
|
ignore =
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools
|
|
# [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
|
|
|
|
[hacking]
|
|
import_exceptions = testtools.matchers, ironicclient.common.i18n
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|