freezer/tox.ini
Dmitriy Rabotyagov aa6ce8dfcc Restore CI jobs
Change-Id: I9867097ee2752790d1b0c3226f5ba28ac27d85bc
2024-12-03 12:25:24 +01:00

104 lines
2.4 KiB
INI

[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