135 lines
3.7 KiB
INI
135 lines
3.7 KiB
INI
[tox]
|
|
minversion = 3.18.0
|
|
envlist = py3,functional,pep8
|
|
|
|
[testenv]
|
|
usedevelop = true
|
|
allowlist_externals =
|
|
rm
|
|
setenv =
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands = stestr run {posargs}
|
|
|
|
# NOTE(cdent): Do not set envdir here as it confuses tox-siblings.
|
|
# gate functional jobs, which use the 'functional' path when
|
|
# copying files.
|
|
[testenv:functional]
|
|
description =
|
|
Run functional tests using python3.
|
|
# As osc-placement functional tests import the PlacementFixture from the placement
|
|
# repository these tests are, by default, set up to run with openstack-placement
|
|
# from pypi. In the gate, Zuul will use the installed version of placement (stable
|
|
# branch version on stable gate run) OR the version of placement the Depends-On in
|
|
# the commit message suggests. If you want to run the tests with latest master from
|
|
# the placement repo, modify the dep line to point at master, example:
|
|
# deps =
|
|
# {[testenv]deps}
|
|
# git+https://opendev.org/openstack/placement#egg=openstack-placement
|
|
# If you want to run the test locally with an un-merged placement change,
|
|
# modify the dep line to point to your dependency or pip install placement
|
|
# into the appropriate tox virtualenv.
|
|
# NOTE: We express the requirement here instead of test-requirements
|
|
# because we do not want placement present during unit tests.
|
|
deps =
|
|
{[testenv]deps}
|
|
openstack-placement>=1.0.0
|
|
commands = stestr --test-path=./osc_placement/tests/functional run {posargs}
|
|
|
|
[testenv:functional-py39]
|
|
description =
|
|
Run functional tests using python3.9.
|
|
deps = {[testenv:functional]deps}
|
|
commands =
|
|
{[testenv:functional]commands}
|
|
|
|
[testenv:functional-py310]
|
|
description =
|
|
Run functional tests using python3.10.
|
|
deps = {[testenv:functional]deps}
|
|
commands =
|
|
{[testenv:functional]commands}
|
|
|
|
[testenv:functional-py311]
|
|
description =
|
|
Run functional tests using python3.11.
|
|
deps = {[testenv:functional]deps}
|
|
commands =
|
|
{[testenv:functional]commands}
|
|
|
|
[testenv:functional-py312]
|
|
description =
|
|
Run functional tests using python3.12.
|
|
deps = {[testenv:functional]deps}
|
|
commands =
|
|
{[testenv:functional]commands}
|
|
|
|
[testenv:pep8]
|
|
description =
|
|
Run style checks.
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:cover]
|
|
description =
|
|
Run unit tests with coverage enabled.
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source osc_placement --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[testenv:docs]
|
|
description =
|
|
Build main documentation.
|
|
deps =
|
|
-r{toxinidir}/doc/requirements.txt
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
commands =
|
|
rm -rf doc/build
|
|
sphinx-build -W -b html -d doc/build/doctrees doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
description =
|
|
Build PDF documentation.
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
description =
|
|
Build release notes.
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -W -b html -d releasenotes/build/doctrees releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
# The docs requirements are included here for creating release notes, e.g.:
|
|
# tox -e venv -- reno new <slug>
|
|
deps =
|
|
{[testenv]deps}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[flake8]
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# W503 line break before binary operator
|
|
show-source = true
|
|
ignore = E123,E125,W503
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|