[tox] envlist = py3,pep8,pylint,docs skipsdist = True [testenv] usedevelop = True deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt passenv = FREEZER_TEST_SSH_KEY FREEZER_TEST_SSH_USERNAME FREEZER_TEST_SSH_HOST FREEZER_TEST_CONTAINER FREEZER_TEST_OS_PROJECT_NAME FREEZER_TEST_OS_USERNAME FREEZER_TEST_OS_REGION_NAME FREEZER_TEST_OS_PASSWORD FREEZER_TEST_OS_AUTH_URL FREEZER_TEST_NO_LVM http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY install_command = pip install {opts} {packages} setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH = ./freezer/tests/unit PYTHON=coverage run --source freezer --parallel-mode commands = find . -type f -name "*.pyc" -delete stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report -m rm -f .coverage rm -rf .testrepository allowlist_externals = find coverage rm python_files = test_*.py norecursedirs = .tox .venv [testenv:venv] commands = {posargs} [testenv:py39] basepython = python3.9 [testenv:py38] basepython = python3.8 [testenv:py312] basepython = python3.12 [testenv:docs] deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt allowlist_externals = rm commands = rm -rf doc/build/ sphinx-build --keep-going -b html doc/source doc/build/html [testenv:pep8] commands = flake8 freezer doc8 {posargs} [testenv:pylint] commands = pylint --rcfile .pylintrc freezer [flake8] # W504 line break after binary operator # W605 invalid escape sequence ignore = H405,H404,H403,H401,W504,W605 show-source = True enable-extensions = H203,H106 exclude = .venv,.tox,dist,doc,test,*egg,releasenotes [doc8] ignore = D000,D001 ignore-path = .venv,.git,.tox,.tmp,*freezer/locale*,*lib/python*,freezer.egg*,doc/build,releasenotes/*,doc/source/contributor/api [testenv:releasenotes]: deps = -c{env:UPPER_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 -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html