python-glanceclient/tox.ini
Cyril Roelandt 75218d289e Delete python bytecode before every test run
Because python creates pyc files during tox runs, certain changes in the
tree, like branch switching or file deletion, can create spurious
errors.

Closes-Bug: #1368661

Change-Id: I93917b051039506d99837028700bc03337cf68f6
2022-08-02 18:09:50 +02:00

82 lines
2.3 KiB
INI

[tox]
envlist = py39,pep8
minversion = 3.18.0
skipsdist = True
[testenv]
usedevelop = True
setenv = OS_STDOUT_NOCAPTURE=False
OS_STDERR_NOCAPTURE=False
PYTHONDONTWRITEBYTECODE=1
# Nowadays, TOX_CONSTRAINTS_FILE should be used, but some older scripts might
# still be using UPPER_CONSTRAINTS_FILE, so we check both variables and use the
# first one that is defined. If none of them is defined, we fallback to the
# default value.
deps =
-c{env:TOX_CONSTRAINTS_FILE:{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:pep8]
basepython = python3
commands = flake8
[testenv:venv]
basepython = python3
commands = {posargs}
[pbr]
warnerror = True
[testenv:functional]
# See glanceclient/tests/functional/README.rst
# for information on running the functional tests.
setenv =
OS_TEST_PATH = ./glanceclient/tests/functional/v2
OS_TESTENV_NAME = {envname}
allowlist_externals =
bash
commands =
bash tools/fix_ca_bundle.sh
stestr run --slowest {posargs}
[testenv:cover]
basepython = python3
setenv =
PYTHON=coverage run --source glanceclient --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -W -b html doc/source doc/build/html
[testenv:releasenotes]
basepython = python3
# Nowadays, TOX_CONSTRAINTS_FILE should be used, but some older scripts might
# still be using UPPER_CONSTRAINTS_FILE, so we check both variables and use the
# first one that is defined. If none of them is defined, we fallback to the
# default value.
deps =
-c{env:TOX_CONSTRAINTS_FILE:{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}}
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]
# E731 skipped as assign a lambda expression
# W504 line break after binary operator
ignore = E731,W504
show-source = True
exclude = .venv*,.tox,dist,*egg,build,.git,doc,*lib/python*,.update-venv
[hacking]
import_exceptions = glanceclient._i18n