ea9cefce25
... to follow the standard method to manage dependencies. Also apply global upper constraints to use the consistent dependencies. Note that releasenotes target is still broken at this stage and needs further work. Change-Id: I8dfc5f1b621010364567e241c9e619c710faa6af
93 lines
2.8 KiB
INI
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<3.1.0,>=3.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
|
|
# [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
|