oslo.messaging/tox.ini
Sean McGinnis a7b9c70f5c
Bump default tox env from py37 to py38
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.

This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
explicitly provided.

Change-Id: I1992bad2ee6bffade2f937cc0d8dc6ae800f4159
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-24 10:25:49 -05:00

129 lines
3.3 KiB
INI

[tox]
minversion = 3.1
envlist = py38,pep8
ignore_basepython_conflict = true
[testenv]
basepython = python3
setenv =
VIRTUAL_ENV={envdir}
passenv = OS_*
ZUUL_CACHE_DIR
REQUIREMENTS_PIP_LOCATION
install_command = pip install {opts} {packages}
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = stestr run --slowest {posargs}
[testenv:pep8]
commands =
flake8
# run security linter
bandit -r oslo_messaging -x tests -n5
[testenv:cover]
setenv =
PYTHON=coverage run --source oslo_messaging --parallel-mode
commands =
stestr run --slowest {posargs}
coverage combine
coverage html -d cover
coverage report
[testenv:venv]
commands = {posargs}
[testenv:docs]
whitelist_externals = rm
deps = -r{toxinidir}/doc/requirements.txt
commands =
rm -fr doc/build
sphinx-build -W --keep-going -b html doc/source doc/build/html
#
# The following functional test scenarios are defined for the
# testing of the messaging backends and to demonstrated the functiona
# correctness across driver combinations (e.g. RPC and Notify)
#
# RPC Notify
# -------- --------
# scenario01 rabbit rabbit
# scenario02 rabbit kafka
# scenario03 amqp rabbit
# scenario04 amqp kafka
#
[testenv:py36-func-scenario01]
basepython = python3.6
setenv =
{[testenv]setenv}
SCENARIO=scenario01
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest {posargs:oslo_messaging.tests.functional}
[testenv:py36-func-scenario02]
basepython = python3.6
setenv =
{[testenv]setenv}
SCENARIO=scenario02
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest {posargs:oslo_messaging.tests.functional}
[testenv:py36-func-scenario03]
basepython = python3.6
setenv =
{[testenv]setenv}
SCENARIO=scenario03
ENVNAME={envname}
WORKDIR={toxworkdir}
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest {posargs:oslo_messaging.tests.functional}
[testenv:py36-func-scenario04]
basepython = python3.6
setenv =
{[testenv]setenv}
SCENARIO=scenario04
ENVNAME={envname}
WORKDIR={toxworkdir}
commands = {toxinidir}/tools/setup-scenario-env.sh stestr run --slowest {posargs:oslo_messaging.tests.functional}
[testenv:bandit]
# NOTE(kgiusti): This is required for the integration test job of the bandit
# project. Please do not remove.
commands = bandit -r oslo_messaging -x tests -n5
[flake8]
# E731 skipped as assign a lambda expression
show-source = True
enable-extensions = H203,H106
ignore = E731,H405,W504
exclude = .tox,dist,doc,*.egg,build,__init__.py
[hacking]
import_exceptions =
six.moves
[flake8:local-plugins]
extension =
O321 = checks:check_oslo_namespace_imports
O322 = checks:check_mock_imports
O324 = checks:CheckForLoggingIssues
paths = ./oslo_messaging/hacking
[testenv:releasenotes]
whitelist_externals = rm
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
deps = -r{toxinidir}/doc/requirements.txt
[testenv:bindep]
deps = bindep
commands = bindep {posargs}
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt