96d46aa5bf
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: I96758527bbba9d8ec298867390b25be493f57789
123 lines
3.6 KiB
INI
123 lines
3.6 KiB
INI
[tox]
|
|
minversion = 3.1.0
|
|
skipsdist = True
|
|
envlist = py3,functional,pep8
|
|
ignore_basepython_conflict=true
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
basepython = python3
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
OS_TEST_PATH=./ironic_python_agent/tests/unit
|
|
LANGUAGE=en_US
|
|
LC_ALL=en_US.utf-8
|
|
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}
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
|
|
|
[testenv:functional]
|
|
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}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
OS_TEST_PATH=./ironic_python_agent/tests/functional
|
|
TEST_PORT=9999
|
|
IPA_WAIT_TRIES=100
|
|
commands = stestr run {posargs}
|
|
|
|
[testenv:pep8]
|
|
whitelist_externals = bash
|
|
commands =
|
|
flake8 {posargs:ironic_python_agent imagebuild}
|
|
# Run bashate during pep8 runs to ensure violations are caught by
|
|
# the check and gate queues.
|
|
{toxinidir}/tools/run_bashate.sh {toxinidir}
|
|
doc8 doc/source README.rst
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHON=coverage run --source ironic_python_agent --omit='*tests*' --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage report --omit='*tests*'
|
|
coverage html -d ./cover --omit='*tests*'
|
|
|
|
[testenv:venv]
|
|
setenv = PYTHONHASHSEED=0
|
|
commands = {posargs:}
|
|
|
|
[testenv:debug]
|
|
envdir = {toxworkdir}/venv
|
|
commands = oslo_debug_helper -t ironic_python_agent/tests/unit {posargs}
|
|
|
|
[testenv:docs]
|
|
setenv = PYTHONHASHSEED=0
|
|
sitepackages = False
|
|
commands =
|
|
python setup.py build_sphinx
|
|
|
|
[testenv:pdf-docs]
|
|
whitelist_externals = make
|
|
setenv = PYTHONHASHSEED=0
|
|
sitepackages = False
|
|
commands =
|
|
sphinx-build -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
# [E129] visually indented line with same indent as next logical line.
|
|
# [W503] Line break before binary operator.
|
|
ignore = E129,W503
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,imagebuild/tinyipa/tinyipafinal,imagebuild/tinyipa/tinyipabuild
|
|
import-order-style = pep8
|
|
application-import-names = ironic_python_agent
|
|
# [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 = ironic.openstack.common.gettextutils._,testtools.matchers
|
|
|
|
[testenv:checkconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands =
|
|
{toxinidir}/tools/config/check_uptodate.sh
|
|
|
|
[testenv:genconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
whitelist_externals = mkdir
|
|
commands =
|
|
mkdir -p etc/ironic_python_agent
|
|
oslo-config-generator --config-file=tools/config/ipa-config-generator.conf
|
|
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv:bandit]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r ironic_python_agent -x tests -n5 -ll -c tools/bandit.yml
|
|
|