Python 3.9 was removed from the tested runtimes for 2025.2[1] and has not been tested since then. Also add Python 3.13 which is part of the tested runtimes for 2025.2. Now unit tests job with Python 3.13 is voting. Also bump flake8-import-order to 0.19.2, which replaces the pkg_resources dependency with importlib.metadata. This allows the pep8 job to run on modern setuptools and Python 3.12. [1] https://governance.openstack.org/tc/reference/runtimes/2025.2.html Change-Id: I91353194e57976cd5fed0f72a841de9fe2a899ea Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
88 lines
2.3 KiB
INI
88 lines
2.3 KiB
INI
[tox]
|
|
minversion = 4.4.0
|
|
envlist = py3,pep8
|
|
ignore_basepython_conflict=true
|
|
|
|
[testenv]
|
|
constrain_package_deps = true
|
|
usedevelop = True
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
LANGUAGE=en_US
|
|
LC_ALL=en_US.UTF-8
|
|
TESTS_DIR=./virtualbmc/tests/unit/
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands =
|
|
stestr run {posargs}
|
|
stestr slowest
|
|
passenv =
|
|
http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
|
|
[testenv:pep8]
|
|
deps=
|
|
hacking~=6.1.0 # Apache-2.0
|
|
flake8-import-order~=0.19.2 # LGPLv3
|
|
pycodestyle>=2.0.0,<3.0.0 # MIT
|
|
doc8~=1.1.0 # Apache-2.0
|
|
commands =
|
|
flake8 {posargs}
|
|
doc8 README.rst CONTRIBUTING.rst HACKING.rst doc/source
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv = {[testenv]setenv}
|
|
PYTHON=coverage run --source virtualbmc --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[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]
|
|
allowlist_externals = make
|
|
deps = {[testenv:docs]deps}
|
|
commands = sphinx-build -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[flake8]
|
|
# [E129] Visually indented line with same indent as next logical line.
|
|
# [W503] Line break occurred before a binary operator. Conflicts with W504.
|
|
ignore = E129,W503
|
|
filename = *.py
|
|
import-order-style = pep8
|
|
application-import-names = virtualbmc
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
|
max-complexity=17
|
|
|
|
[testenv:codespell]
|
|
description =
|
|
Run codespell to check spelling
|
|
deps = codespell
|
|
# note(JayF): {posargs} lets us run `tox -ecodespell -- -w` to get codespell
|
|
# to correct spelling issues in our code it's aware of.
|
|
commands =
|
|
codespell {posargs}
|