Files
Riccardo Pittau bcea0445ac Remove Python 3.9 support
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>
2026-02-23 17:22:34 +01:00

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}