ironic-python-agent/tox.ini
Kaifeng Wang 6f634c358b Adds bandit template and exclude some of tests
Adds bandit configuration template and exclude some of
tests that we don't want to fix for the moment.

Keeping job unvoted so that we can keep an eye on possible
issues while not breaking gate.

Change-Id: I092d686ba38723d7951e8f06415f28cc809ad365
Story: 2005791
Task: 33563
2019-06-20 14:39:36 +08:00

123 lines
3.5 KiB
INI

[tox]
minversion = 2.0
skipsdist = True
envlist = py3,py27,functional,pep8
[testenv]
usedevelop = True
install_command = pip install -U -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
OS_TEST_PATH=./ironic_python_agent/tests/unit
LANGUAGE=en_US
LC_ALL=en_US.utf-8
deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
[testenv:functional]
basepython = python3
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]
basepython = python3
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]
basepython = python3
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]
basepython = python3
setenv = PYTHONHASHSEED=0
commands = {posargs:}
[testenv:debug]
basepython = python3
envdir = {toxworkdir}/venv
commands = oslo_debug_helper -t ironic_python_agent/tests/unit {posargs}
[testenv:devenv]
basepython = python3
envdir = devenv
usedevelop = True
[testenv:docs]
basepython = python3
setenv = PYTHONHASHSEED=0
sitepackages = False
commands =
python setup.py build_sphinx
[testenv:releasenotes]
basepython = python3
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]
basepython = python3
sitepackages = False
envdir = {toxworkdir}/venv
commands =
{toxinidir}/tools/config/check_uptodate.sh
[testenv:genconfig]
basepython = python3
sitepackages = False
envdir = {toxworkdir}/venv
commands =
oslo-config-generator --config-file=tools/config/ipa-config-generator.conf
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:bandit]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r ironic_python_agent -x tests -n5 -ll -c tools/bandit.yml