summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 97cd2d785b99513bbaaf30e5b3a5229967e2cd63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
[tox]
envlist =
    {pypy3,3.7,3.8,3.9}-unit
    {pypy3,3.7,3.8,3.9}-linux-integration-py-amqp
    {pypy3,3.7,3.8,3.9}-linux-integration-redis
    flake8
    flakeplus
    apicheck
    pydocstyle

requires = tox-docker>=2.0

[testenv]
sitepackages = False
setenv = C_DEBUG_TEST = 1
passenv =
  DISTUTILS_USE_SDK
deps=
    -r{toxinidir}/requirements/dev.txt
    apicheck,pypy3,3.7,3.8,3.9: -r{toxinidir}/requirements/default.txt
    apicheck,pypy3,3.7,3.8,3.9: -r{toxinidir}/requirements/test.txt
    apicheck,pypy3,3.7-linux,3.8-linux,3.9-linux: -r{toxinidir}/requirements/test-ci.txt
    3.7-windows,3.8-windows,3.9-windows: -r{toxinidir}/requirements/test-ci-windows.txt
    apicheck,linkcheck: -r{toxinidir}/requirements/docs.txt
    flake8,flakeplus,pydocstyle: -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}

basepython =
    3.7: python3.7
    3.8: python3.8
    3.9,apicheck,pydocstyle,flake8,linkcheck,cov: python3.9
    pypy3: pypy

install_command = python -m pip --disable-pip-version-check install {opts} {packages}

docker =
    integration-py-amqp: rabbitmq
    integration-redis: redis

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

[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