You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.6 KiB
88 lines
2.6 KiB
[tox] |
|
envlist = py39,pep8 |
|
minversion = 3.18.0 |
|
skipsdist = True |
|
ignore_basepython_conflict = True |
|
|
|
[testenv] |
|
basepython = python3 |
|
setenv = VIRTUAL_ENV={envdir} |
|
LANG=en_US.UTF-8 |
|
LANGUAGE=en_US:en |
|
LC_ALL=C |
|
PYTHONWARNINGS=default::DeprecationWarning |
|
usedevelop = True |
|
install_command = pip install {opts} {packages} |
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} |
|
-r{toxinidir}/requirements.txt |
|
-r{toxinidir}/test-requirements.txt |
|
# Delete bytecodes from normal directories before running tests. |
|
# Note that bytecodes in dot directories will not be deleted |
|
# to keep bytecodes of python modules installed into virtualenvs. |
|
commands = sh -c "find . -type d -name '.?*' -prune -o \ |
|
\( -type d -name '__pycache__' -o -type f -name '*.py[co]' \) \ |
|
-print0 | xargs -0 rm -rf" |
|
stestr run {posargs} |
|
allowlist_externals = sh |
|
|
|
[testenv:pep8] |
|
commands = |
|
flake8 |
|
{[testenv:bandit]commands} |
|
distribute = false |
|
|
|
[testenv:venv] |
|
commands = {posargs} |
|
|
|
[testenv:functional] |
|
setenv = |
|
OS_TEST_PATH = ./neutronclient/tests/functional |
|
OS_NEUTRONCLIENT_EXEC_DIR = {envdir}/bin |
|
|
|
[testenv:cover] |
|
setenv = |
|
{[testenv]setenv} |
|
PYTHON=coverage run --source neutronclient --parallel-mode |
|
commands = |
|
stestr run {posargs} |
|
coverage combine |
|
coverage html -d cover |
|
coverage xml -o cover/coverage.xml |
|
coverage report |
|
|
|
[testenv:docs] |
|
deps = |
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} |
|
-r{toxinidir}/doc/requirements.txt |
|
commands = sphinx-build -W -b html doc/source doc/build/html |
|
|
|
[testenv:pdf-docs] |
|
envdir = {toxworkdir}/docs |
|
deps = {[testenv:docs]deps} |
|
allowlist_externals = |
|
make |
|
commands = |
|
sphinx-build -W -b latex doc/source doc/build/pdf |
|
make -C doc/build/pdf |
|
|
|
[testenv:releasenotes] |
|
deps = |
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} |
|
-r{toxinidir}/doc/requirements.txt |
|
commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html |
|
|
|
[flake8] |
|
show-source = true |
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools |
|
import-order-style = pep8 |
|
|
|
# H904: Delay string interpolations at logging calls |
|
enable-extensions=H904 |
|
|
|
[testenv:bandit] |
|
# B303: blacklist calls: md5, sha1 |
|
# B105: The software contains a hard-coded password, which it uses for its own |
|
# inbound authentication or for outbound communication to external |
|
# components. |
|
deps = -r{toxinidir}/test-requirements.txt |
|
commands = bandit -r neutronclient -x tests -n5 -s B303,B105
|
|
|