summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 2555df9363ac0a6e6c08da7e951c5153e460a610 (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
[tox]
envlist =
    {pypy3,3.7,3.8,3.9,3.10}-unit
    {pypy3,3.7,3.8,3.9.3.10}-integration-rabbitmq
    flake8
    apicheck
    pydocstyle
requires = tox-docker>=2.0

[testenv]
deps=
    -r{toxinidir}/requirements/default.txt
    -r{toxinidir}/requirements/test.txt
    -r{toxinidir}/requirements/test-ci.txt

    apicheck,linkcheck: -r{toxinidir}/requirements/docs.txt
    flake8,pydocstyle: -r{toxinidir}/requirements/pkgutils.txt
sitepackages = False
recreate = False
commands =
    unit: py.test -xv --cov=amqp --cov-report=xml --no-cov-on-fail t/unit
    integration: py.test -xv -E rabbitmq t/integration {posargs:-n2}
basepython =
    flake8,apicheck,linkcheck,pydocstyle: python3.8
    pypy3: pypy3.9
    3.7: python3.7
    3.8: python3.8
    3.9: python3.9
    3.10: python3.10
install_command = python -m pip --disable-pip-version-check install {opts} {packages}
commands_pre =
    integration-rabbitmq: ./wait_for_rabbitmq.sh
docker =
    integration-rabbitmq: rabbitmq
dockerenv =
    PYAMQP_INTEGRATION_INSTANCE=1
    RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit tcp_listeners [5672]

[docker:rabbitmq]
image = rabbitmq:tls
ports =
    5672:5672/tcp
    5671:5671/tcp
healthcheck_cmd = /bin/bash -c 'rabbitmq-diagnostics ping -q'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5

[testenv:apicheck]
commands =
    sphinx-build -b apicheck -d {envtmpdir}/doctrees docs docs/_build/apicheck

[testenv:linkcheck]
commands =
    sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck

[testenv:flake8]
commands =
    flake8 {toxinidir}/amqp {toxinidir}/t

[testenv:pydocstyle]
commands =
    pydocstyle {toxinidir}/amqp