keystoneauth/tox.ini
Stephen Finucane f0a6443883 Add pre-commit
This is helpful to automate code style checks at runtime. Some of these
are currently disabled since fixing them requires some work. Those fixes
will come separately.

Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I0eb7bdfe527722b012981a1d6bd15580b6adfe6e
2024-09-10 10:41:58 +01:00

113 lines
3.1 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[tox]
minversion = 4.3.0
envlist = py3,pep8,releasenotes
[testenv]
usedevelop = True
setenv =
OS_STDOUT_NOCAPTURE=False
OS_STDERR_NOCAPTURE=False
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
allowlist_externals =
bash
commands =
stestr run {posargs}
[testenv:pep8]
description =
Run style checks.
skip_install = true
deps =
pre-commit
commands =
pre-commit run --all-files --show-diff-on-failure
# NOTE(browne): This is required for the integration test job of the bandit
# project. Please do not remove.
[testenv:bandit]
description =
Run bandit security checks.
skip_install = true
deps =
pre-commit
commands =
pre-commit run --all-files --show-diff-on-failure bandit
[testenv:venv]
commands = {posargs}
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source keystoneauth1 --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:debug]
commands =
oslo_debug_helper -t keystoneauth1/tests {posargs}
[testenv:docs]
setenv =
{[testenv]setenv}
SPHINX_APIDOC_OPTIONS=noindex,members,undoc-members,show-inheritance
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands =
bash -c "rm -rf doc/build"
bash -c "rm -rf doc/source/api"
sphinx-build -W -b html -d doc/build/doctrees doc/source doc/build/html
[testenv:pdf-docs]
setenv =
{[testenv]setenv}
SPHINX_APIDOC_OPTIONS=noindex,members,undoc-members,show-inheritance
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]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[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
# W503 line break before binary operator
# W504 line break after binary operator
ignore = D100,D101,D102,D103,D104,D107,D203,D401,W503,W504
# H106: Dont put vim configuration in source files
# H203: Use assertIs(Not)None to check for None
enable-extensions=H106,H203
show-source = True
exclude = .venv,.tox,dist,doc,*egg,build
import-order-style = pep8
application-import-names = keystoneauth1
[flake8:local-plugins]
extension =
K333 = checks:check_oslo_namespace_imports
paths = ./keystoneauth1/hacking