Files
python-observabilityclient/tox.ini
Jaromir Wysoglad d86f7f1b1f Bump hacking
Change-Id: Ib57ee5caca7b178b403edfeaf03acaa4f07a029a
2025-04-04 04:18:00 -04:00

93 lines
2.8 KiB
INI

[tox]
minversion = 4.2.5
envlist = py38,py39,py311,pep8
ignore_basepython_conflict = True
[testenv]
basepython = python3
usedevelop = True
setenv =
VIRTUAL_ENV={envdir}
OBSERVABILITY_CLIENT_EXEC_DIR={envdir}/bin
OS_TEST_PATH = ./observabilityclient/tests/unit
passenv =
PROMETHEUS_*
OBSERVABILITY_*
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs} --test-path {env:OS_TEST_PATH}
[testenv:pep8]
basepython = python3
deps = hacking>=7.0.0,<7.1.0
commands = flake8
[testenv:venv]
commands = {posargs}
[testenv:cover]
deps =
{[testenv]deps}
pytest-cov
commands = observabilityclient {posargs} {env:$OS_TEST_PATH}
[testenv:functional]
setenv =
OS_TEST_PATH = ./observabilityclient/tests/functional
OS_TESTENV_NAME = {envname}
allowlist_externals =
bash
deps =
{[testenv]deps}
pytest
commands =
bash tools/fix_ca_bundle.sh
stestr run --slowest {posargs} --test-path {env:OS_TEST_PATH}
[flake8]
show-source = True
# A002 argument "input" is shadowing a python builtin
# A003 class attribute "list" is shadowing a python builtin
# 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
# D105 Missing docstring in magic method
# D106 Missing docstring in public nested class
# D107 Missing docstring in __init__
# W503 line break before binary operator
# W504 line break after binary operator
ignore = A002,A003,D100,D101,D102,D103,D104,D105,D106,D107,W503,W504
exclude = .venv,.git,.tox,dist,doc,*egg,build,*lib/python*
# [H101] Include your name with TODOs as in # TODO(yourname).
# [H104] Empty files should not contain license or comments
# [H106] Do not put vim configuration in source files.
# [H201] Do not write except:, use except Exception: at the very least.
# [H202] Testing for Exception being raised
# [H203] Use assertIs(Not)None to check for None.
# [H204] Use assert(Not)Equal to check for equality.
# [H205] Use assert(Greater|Less)(Equal) for comparison.
# [H23] Py3 compat
# [H301] Do not import more than one module per line (*)
# [H303] Do not use wildcard * import (*)
# [H304] Do not make relative imports
# [H306] Alphabetically order your imports by the full module path.
enable-extensions=G,H101,H104,H106,H201,H202,H203,H204,H205,H23,H301,H303,H304,H306
application-import-names = observabilityclient
[pytest]
addopts = --verbose
norecursedirs = .tox
[testenv:releasenotes]
deps =
-r{toxinidir}/doc/requirements.txt
-r{toxinidir}/requirements.txt
allowlist_externals =
sphinx-build
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html