fdfa615b8e
Python 3.8 is now our highest level supported python runtime. This updates the default tox target environments to swap out py37 for py38 to make sure local development testing is covering this version. This does not impact zuul jobs in any way, nor prevent local tests against py37. It just changes the default if none is explicitly provided. Change-Id: I026ae0fae10114d9aed8bdb0ae7061b3dc2ff895 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
88 lines
2.4 KiB
INI
88 lines
2.4 KiB
INI
[tox]
|
|
envlist = py38,pep8
|
|
minversion = 2.3.2
|
|
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:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
|
|
-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}
|
|
whitelist_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 = -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}
|
|
whitelist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
deps = -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
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r neutronclient -x tests -n5 -s B303
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|