freezer/tox.ini
LiZekun 0fe8824a58 Use TOX_CONSTRAINTS_FILE
UPPER_CONSTRAINTS_FILE is old name and deprecated
This allows to use upper-constraints file as more
readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>.

Change-Id: I76583df98a5d0917e55600a6074f135bcefe1912
2024-12-03 17:38:17 +01:00

104 lines
2.4 KiB
INI

[tox]
envlist = py3,pep8,pylint,docs
skipsdist = True
[testenv]
usedevelop = True
deps =
-c{env:TOX_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:TOX_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: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 -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html