[tox] envlist = {pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-unit {pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-linux-integration-py-amqp {pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-linux-integration-redis {pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-linux-integration-mongodb flake8 flakeplus apicheck pydocstyle requires = tox-docker>=3.0 [testenv] sitepackages = False setenv = C_DEBUG_TEST = 1 passenv = DISTUTILS_USE_SDK deps= -r{toxinidir}/requirements/dev.txt apicheck,pypy3.7,pypy3.8,3.7,3.8,3.9,3.10: -r{toxinidir}/requirements/default.txt apicheck,pypy3.7,pypy3.8,3.7,3.8,3.9,3.10: -r{toxinidir}/requirements/test.txt apicheck,pypy3.7,pypy3.8,3.7-linux,3.8-linux,3.9-linux,3.10-linux: -r{toxinidir}/requirements/test-ci.txt 3.7-windows,3.8-windows,3.9-windows,3.10-windows: -r{toxinidir}/requirements/test-ci-windows.txt apicheck,linkcheck: -r{toxinidir}/requirements/docs.txt flake8,flakeplus,pydocstyle,mypy: -r{toxinidir}/requirements/pkgutils.txt commands = unit: python -bb -m pytest -rxs -xv --cov=kombu --cov-report=xml --no-cov-on-fail {posargs} integration-py-amqp: py.test -xv -E py-amqp t/integration {posargs:-n2} integration-redis: py.test -xv -E redis t/integration {posargs:-n2} integration-mongodb: py.test -xv -E mongodb t/integration {posargs:-n2} basepython = pypy3.7: pypy3.7 pypy3.8: pypy3.8 3.7: python3.7 3.8,mypy: python3.8 3.9,apicheck,pydocstyle,flake8,linkcheck,cov: python3.9 3.10: python3.10 install_command = python -m pip --disable-pip-version-check install {opts} {packages} docker = integration-py-amqp: rabbitmq integration-redis: redis integration-mongodb: mongodb dockerenv = PYAMQP_INTEGRATION_INSTANCE=1 RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit tcp_listeners [5672] [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 [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 [testenv:apicheck] commands = pip install -U -r{toxinidir}/requirements/dev.txt sphinx-build -j2 -b apicheck -d {envtmpdir}/doctrees docs docs/_build/apicheck [testenv:linkcheck] commands = pip install -U -r{toxinidir}/requirements/dev.txt sphinx-build -j2 -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck [testenv:flake8] commands = flake8 -j2 {toxinidir}/kombu {toxinidir}/t [testenv:pydocstyle] commands = pydocstyle {toxinidir}/kombu [testenv:mypy] commands = python -m mypy --config-file setup.cfg