kombu/tox.ini

169 lines
4.8 KiB
INI
Raw Normal View History

[tox]
2016-10-11 19:33:31 +00:00
envlist =
{pypy3.10,3.8,3.9,3.10,3.11,3.12}-unit
{pypy3.10,3.8,3.9,3.10,3.11,3.12}-linux-integration-py-amqp
{pypy3.10,3.8,3.9,3.10,3.11,3.12}-linux-integration-redis
{pypy3.10,3.8,3.9,3.10,3.11,3.12}-linux-integration-mongodb
{pypy3.10,3.8,3.9,3.10,3.11,3.12}-linux-integration-kafka
2016-10-11 19:33:31 +00:00
flake8
apicheck
pydocstyle
mypy
requires =
tox-docker<=4.1
requests<2.32.0
2022-04-27 08:02:38 +00:00
[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310
3.11: py311
3.12: py312
pypy3: pypy3
2022-04-27 08:02:38 +00:00
[testenv]
sitepackages = False
2014-08-11 17:38:07 +00:00
setenv = C_DEBUG_TEST = 1
passenv =
DISTUTILS_USE_SDK
2015-09-29 21:44:06 +00:00
deps=
-r{toxinidir}/requirements/dev.txt
apicheck,pypy3.10,3.8,3.9,3.10,3.11,3.12: -r{toxinidir}/requirements/default.txt
apicheck,pypy3.10,3.8,3.9,3.10,3.11,3.12: -r{toxinidir}/requirements/test.txt
apicheck,pypy3.10,3.8,3.9,3.10,3.11,3.12: -r{toxinidir}/requirements/test-ci.txt
apicheck,3.8-linux,3.9-linux,3.10-linux,3.11-linux,3.12-linux: -r{toxinidir}/requirements/extras/confluentkafka.txt
2016-04-08 21:03:29 +00:00
apicheck,linkcheck: -r{toxinidir}/requirements/docs.txt
flake8,pydocstyle,mypy: -r{toxinidir}/requirements/pkgutils.txt
integration: -r{toxinidir}/requirements/test-integration.txt
2016-04-08 21:03:29 +00:00
commands =
unit: python -bb -m pytest -rxs -xv --cov=kombu --cov-report=xml --no-cov-on-fail --cov-report term {posargs}
integration-py-amqp: pytest -xv -E py-amqp t/integration -n auto --reruns 2 --reruns-delay 1 {posargs}
integration-redis: pytest -xv -E redis t/integration -n auto --reruns 2 --reruns-delay 1 {posargs}
integration-mongodb: pytest -xv -E mongodb t/integration -n auto --reruns 2 --reruns-delay 1 {posargs}
integration-kafka: pytest -xv -E kafka t/integration -n auto --reruns 2 --reruns-delay 1 {posargs}
2016-04-08 21:03:29 +00:00
2015-09-29 21:44:06 +00:00
basepython =
pypy3: pypy3
3.8: python3.8
3.9: python3.9
3.10: python3.10
3.11: python3.11
3.12: python3.12
apicheck,pydocstyle,flake8,linkcheck,cov,mypy: python3.12
2016-04-08 21:03:29 +00:00
2019-03-03 20:33:51 +00:00
install_command = python -m pip --disable-pip-version-check install {opts} {packages}
docker =
2021-02-01 13:38:38 +00:00
integration-py-amqp: rabbitmq
integration-redis: redis
integration-mongodb: mongodb
integration-kafka: zookeeper
integration-kafka: kafka
dockerenv =
PYAMQP_INTEGRATION_INSTANCE=1
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit tcp_listeners [5672]
2021-02-01 13:38:38 +00:00
[docker:rabbitmq]
image = rabbitmq
ports = 5672:5672/tcp
healthcheck_cmd = /bin/bash -c 'rabbitmq-diagnostics ping -q'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
2021-02-01 13:38:38 +00:00
[docker:redis]
image = redis
ports = 6379:6379/tcp
healthcheck_cmd = /bin/sh -c 'redis-cli ping'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
[docker:mongodb]
image = mongo
ports = 27017:27017/tcp
healthcheck_cmd = /usr/bin/mongosh --eval 'db.runCommand("ping")'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
[docker:zookeeper]
image = bitnami/zookeeper:latest
ports = 2181:2181/tcp
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
environment = ALLOW_ANONYMOUS_LOGIN=yes
[docker:kafka]
image = bitnami/kafka:latest
ports =
9092:9092/tcp
healthcheck_cmd = /bin/bash -c 'kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
links =
zookeeper:zookeeper
environment =
KAFKA_BROKER_ID=1
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
ALLOW_PLAINTEXT_LISTENER=yes
2016-04-08 21:03:29 +00:00
[testenv:apicheck]
2016-04-09 05:05:31 +00:00
commands = pip install -U -r{toxinidir}/requirements/dev.txt
2019-01-09 14:47:52 +00:00
sphinx-build -j2 -b apicheck -d {envtmpdir}/doctrees docs docs/_build/apicheck
2016-04-08 21:03:29 +00:00
[testenv:linkcheck]
2016-04-09 05:05:31 +00:00
commands = pip install -U -r{toxinidir}/requirements/dev.txt
2019-01-09 14:47:52 +00:00
sphinx-build -j2 -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck
2016-04-05 21:57:00 +00:00
[testenv:flake8]
commands =
2019-01-09 20:55:55 +00:00
flake8 -j2 {toxinidir}/kombu {toxinidir}/t
2016-04-05 21:57:00 +00:00
2016-10-11 19:33:31 +00:00
[testenv:pydocstyle]
commands =
2016-10-11 20:33:10 +00:00
pydocstyle {toxinidir}/kombu
[testenv:mypy]
commands = python -m mypy --config-file setup.cfg
[testenv:lint]
allowlist_externals = pre-commit
commands =
pre-commit {posargs:run --all-files --show-diff-on-failure}
[testenv:clean]
deps = cleanpy
allowlist_externals = make
commands =
python -m cleanpy .
make clean
[testenv:parallel]
description = Run all unit and integration tests in parallel
allowlist_externals = tox
setenv =
PYTHONUNBUFFERED = 1
PYTHONDONTWRITEBYTECODE = 1
commands =
tox -e \
3.12-unit,\
3.12-linux-integration-py-amqp,\
3.12-linux-integration-redis,\
3.12-linux-integration-mongodb,\
3.12-linux-integration-kafka \
-p -o -- --exitfirst {posargs}