keystoneauth/tox.ini
Stephen Finucane 576ce96a29 typing: Annotate keystoneauth1.loading.adapter
We're getting fancy. Unlike most other loaders, this one doesn't return
an identity plugin. Rather, it returns an Adapter. It's probably
reasonable to question whether these need to derive from the same loader
but for now, they do, so we work around this by making 'BaseLoader' a
generic and renaming it to '_BaseLoader', with a concrete implementation
called 'BaseLoader' that most plugin loaders can derive from.

Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I810822438e738da42e987be82113a9c23c05e87f
2024-10-22 11:50:16 +01:00

117 lines
3.3 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
# E501: line too long
# E203: whitespace before ':'
# E701: multiple statements on one line (colon)
# E704: multiple statements on one line
# W503: line break before binary operator
# W504: line break after binary operator
ignore = D100,D101,D102,D103,D104,D107,D203,D401,E203,E501,E701,E704,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