pbr/tox.ini
Jeremy Stanley c718425299 Don't test with setuptools local distutils
We noticed some aberrations in log level/threshold handling as of
Setuptools 60.0.0, and the only substantive change for that release
toggles the default selection for its internal ("local") distutils
replacement vs the "stdlib" one. For now, toggle the
SETUPTOOLS_USE_DISTUTILS envvar in our testing back to the old
value. This should be revisited once logging is handled better in
Setuptools. https://github.com/pypa/setuptools/issues/3038

Change-Id: If372a33607fff884cd7bf888ee5a23a2fbb351b2
2022-01-20 21:01:47 +00:00

62 lines
1.8 KiB
INI

[tox]
minversion = 3.1
envlist = pep8,py27,py37,docs
ignore_basepython_conflict = True
[testenv]
usedevelop = True
basepython = python3
passenv = PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS
# TODO(fungi): drop distutils override once logging improves in Setuptools
# https://github.com/pypa/setuptools/issues/3038
setenv =
SETUPTOOLS_USE_DISTUTILS=stdlib
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:1}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:1}
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:60}
# NOTE(stephenfin): pbr intentionally does not use constraints since we support
# a broader range of Python versions than OpenStack as a whole
deps =
-r{toxinidir}/test-requirements.txt
commands = stestr run --suppress-attachments {posargs}
[testenv:pep8]
commands = pre-commit run -a
[testenv:docs]
whitelist_externals = rm
deps =
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/build doc/source/reference/api
python setup.py sdist
sphinx-build -W -b html doc/source doc/build/html {posargs}
[testenv:releasenotes]
whitelist_externals = rm
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}
[testenv:cover]
# TODO(fungi): drop distutils override once logging improves in Setuptools
# https://github.com/pypa/setuptools/issues/3038
setenv =
SETUPTOOLS_USE_DISTUTILS=stdlib
PYTHON=coverage run --source pbr --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[flake8]
# W504 (you have to choose this or W503)
ignore = W504
exclude = .venv,.tox,dist,doc,*.egg,build
show-source = true