Files
oslo.messaging/tox.ini
Kenneth Giusti 1edf7a2a26 Cap Bandit below 1.6.0 and update Sphinx requirement
Bandit 1.6.0 accidentally changed how the exclusion list option is
handled and breaks our use of it. Cap to the previous version until
Bandit has fixed the problem.

Sphinx 2.0 no longer works on python 2.7, so we need to start
capping it there as well.

NOTE(elod.illes): use upper-constraints.txt for docs tox target, to
limit dulwich to the version that was used in stable/pike. Also install
the content of requirements.txt otherwise those will be installed
unconstrained during the test run.

Conflicts:
    doc/requirements.txt

Change-Id: Ie6b379f2c99862c37891ac03c52464e07bc2b2cc
(cherry picked from commit 4f467fbd73)
(cherry picked from commit 012cdcd03a)
2021-03-20 15:24:13 +01:00

132 lines
4.5 KiB
INI

[tox]
minversion = 2.0
envlist = py35,py27,pep8,bandit
[testenv]
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://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = python setup.py testr --slowest --testr-args='{posargs}'
[testenv:pep8]
commands = flake8
deps = hacking<0.11,>=0.10.0
[testenv:cover]
commands =
python setup.py test --coverage --coverage-package-name=oslo_messaging --testr-args='{posargs}'
[testenv:venv]
commands = {posargs}
[testenv:docs]
basepython = python2.7
commands = python setup.py build_sphinx
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike}
-r{toxinidir}/doc/requirements.txt
-r{toxinidir}/requirements.txt
[testenv:py27-func-rabbit]
setenv =
{[testenv]setenv}
TRANSPORT_DRIVER=rabbit
commands = pifpaf run rabbitmq -- python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py35-func-rabbit]
setenv =
{[testenv]setenv}
TRANSPORT_DRIVER=rabbit
basepython = python3.5
commands = pifpaf run rabbitmq -- python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-pika]
setenv =
{[testenv]setenv}
TRANSPORT_DRIVER=pika
commands = pifpaf run rabbitmq -- python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-kafka]
setenv =
{[testenv]setenv}
TRANSPORT_DRIVER=kafka
OS_GROUP_REGEX=oslo_messaging.tests.functional
kafka-python>=1.3.1
commands = {toxinidir}/setup-test-env-kafka.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-amqp1]
setenv =
{[testenv]setenv}
TRANSPORT_URL=amqp://stackqpid:secretqpid@127.0.0.1:65123//
AMQP1_BACKEND=qpidd
ENVNAME={envname}
WORKDIR={toxworkdir}
commands = {toxinidir}/setup-test-env-amqp1.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py35-func-amqp1]
basepython = python3.5
setenv =
{[testenv]setenv}
TRANSPORT_URL=amqp://stackqpid:secretqpid@127.0.0.1:65123//
AMQP1_BACKEND=qpidd
ENVNAME={envname}
WORKDIR={toxworkdir}
commands = {toxinidir}/setup-test-env-amqp1.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-zmq]
commands = {toxinidir}/setup-test-env-zmq.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py35-func-zmq]
commands = {toxinidir}/setup-test-env-zmq.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-zmq-dyn]
commands = {toxinidir}/setup-test-env-zmq-direct-dynamic.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-zmq-proxy]
commands = {toxinidir}/setup-test-env-zmq-proxy.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:py27-func-zmq-pubsub]
commands = {toxinidir}/setup-test-env-zmq-pub-sub.sh python setup.py testr --slowest --testr-args='{posargs:oslo_messaging.tests.functional}'
[testenv:bandit]
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = bandit -r oslo_messaging -x tests -n5
[flake8]
show-source = True
enable-extensions = H203,H106
ignore = H405
exclude = .tox,dist,doc,*.egg,build,__init__.py
[hacking]
import_exceptions =
oslo_messaging._i18n
six.moves
local-check-factory = oslo_messaging.hacking.checks.factory
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_missing_reqs
commands = pip-missing-reqs -d --ignore-module=oslo_messaging* --ignore-file=oslo_messaging/tests/* --ignore-file=tests/ oslo_messaging
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
deps = -r{toxinidir}/doc/requirements.txt
[testenv:bindep]
deps = bindep
commands = bindep {posargs}