[tox] minversion = 3.18.0 envlist = py3,pep8 ignore_basepython_conflict = true [testenv] basepython = python3 setenv = LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt usedevelop = True commands = stestr run --slowest {posargs} distribute = false [testenv:functional{,-py38,-py39}] setenv = {[testenv]setenv} OS_TEST_PATH=./osprofiler/tests/functional deps = {[testenv]deps} oslo.messaging [testenv:pep8] commands = pre-commit run -a # Run security linter bandit -r osprofiler -n5 distribute = false [testenv:venv] commands = {posargs} [testenv:cover] setenv = PYTHON=coverage run --source osprofiler --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:docs] deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt allowlist_externals = rm commands = rm -rf doc/build api-guide/build api-ref/build doc/source/contributor/modules sphinx-build -W --keep-going -b html -d doc/build/doctrees doc/source doc/build/html usedevelop = false [testenv:bandit] commands = bandit -r osprofiler -n5 [flake8] show-source = true builtins = _ # E741 ambiguous variable name 'l' # W503 line break before binary operator ignore = E741,W503 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,setup.py,build,releasenotes import-order-style = pep8 application-import-names = osprofiler [flake8:local-plugins] extension = N301 = checks:check_assert_methods_from_mock N320 = checks:assert_true_instance N321 = checks:assert_equal_type N322 = checks:assert_equal_none N323 = checks:assert_true_or_false_with_in N324 = checks:assert_equal_in N351 = checks:check_no_constructor_data_struct N352 = checks:check_dict_formatting_in_string N353 = checks:check_using_unicode N354 = checks:check_raises paths = ./osprofiler/hacking [testenv:releasenotes] deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt allowlist_externals = rm commands = rm -rf releasenotes/build sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:lower-constraints] deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt