oslo.messaging/tox.ini
Mehdi Abaakouk f9cba9bd09 tests: don't run functional tests in parallel
kafka doesn't play well with //, each times a new partition/topic is
created, kafka rebalances things across brokers and messages are not
delivered at the expected time.

So this change disable the parallelizism for functional tests for kafka
only.

Change-Id: Ia497334efcd4685850ac1529a7fc38073dae7cd1
2017-02-23 10:59:00 +01:00

125 lines
4.2 KiB
INI

[tox]
minversion = 2.0
envlist = py35,py27,pep8,bandit
[testenv]
setenv =
VIRTUAL_ENV={envdir}
BRANCH_NAME=master
CLIENT_NAME=oslo.messaging
passenv = OS_*
ZUUL_CACHE_DIR
REQUIREMENTS_PIP_LOCATION
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
deps = -r{toxinidir}/test-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]
commands = python setup.py build_sphinx
[testenv:py27-func-rabbit]
setenv =
{[testenv]setenv}
TRANSPORT_DRIVER=rabbit
amqp>=2.0.0
kombu>=4.0.0
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
amqp>=2.0.0
kombu>=4.0.0
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='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='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 = -r{toxinidir}/test-requirements.txt
commands = bandit -r oslo_messaging -x tests -n5
[flake8]
show-source = True
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
[testenv:bindep]
deps = bindep
commands = bindep {posargs}