Files
python-keystoneclient/tox.ini
Takashi Kajinami 851c885612 Update default envlist
Python 3.8 support was already removed so it should no longer be in
the default envlist. Also use unversioned target instead of versioned
ones so that we don't have to update the envlist when supported python
versions are updated.

Change-Id: I903d0259cd2776d8bc69a674fde3f03990a8d6dd
2025-01-13 14:05:31 +09:00

98 lines
2.7 KiB
INI

[tox]
minversion = 3.18.0
skipsdist = True
envlist = py3,pep8,releasenotes
ignore_basepython_conflict = True
[testenv]
usedevelop = True
setenv = OS_STDOUT_NOCAPTURE=False
OS_STDERR_NOCAPTURE=False
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = find . -type f -name "*.pyc" -delete
stestr run --slowest {posargs}
allowlist_externals = find
basepython = python3
[testenv:pep8]
commands =
flake8
bandit -r keystoneclient -x tests -n5
[testenv:bandit]
# NOTE(browne): This is required for the integration test job of the bandit
# project. Please do not remove.
commands = bandit -r keystoneclient -x tests -n5
[testenv:venv]
commands = {posargs}
[testenv:cover]
setenv =
PYTHON=coverage run --source keystoneclient --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[testenv:debug]
commands = oslo_debug_helper -t keystoneclient/tests {posargs}
[testenv:functional]
setenv = {[testenv]setenv}
OS_TEST_PATH=./keystoneclient/tests/functional
passenv = OS_*
[flake8]
# D100: Missing docstring in public module
# D101: Missing docstring in public class
# D102: Missing docstring in public method
# D103: Missing docstring in public function
# D104: Missing docstring in public package
# D107: Missing docstring in __init__
# D203: 1 blank line required before class docstring (deprecated in pep257)
# D401 First line should be in imperative mood; try rephrasing
# W504 line break after binary operator
ignore = D100,D101,D102,D103,D104,D107,D203,D401,W504
show-source = True
exclude = .venv,.tox,dist,doc,*egg,build
[testenv:docs]
commands = sphinx-build -W -b html doc/source doc/build/html
deps =
-r{toxinidir}/doc/requirements.txt
-r{toxinidir}/requirements.txt
[testenv:pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals =
make
rm
commands =
rm -rf doc/build/pdf
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
deps = -r{toxinidir}/doc/requirements.txt
[hacking]
import_exceptions =
keystoneclient.i18n
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test