File: tox.ini

package info (click to toggle)
celery 5.6.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,572 kB
  • sloc: python: 66,917; sh: 795; makefile: 378
file content (134 lines) | stat: -rw-r--r-- 4,382 bytes parent folder | download
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
[tox]
requires =
    tox-gh-actions
envlist =
    {3.9,3.10,3.11,3.12,3.13,3.14,pypy3}-unit
    {3.9,3.10,3.11,3.12,3.13,3.14,pypy3}-integration-{rabbitmq_redis,rabbitmq,redis,dynamodb,azureblockblob,cache,cassandra,elasticsearch,docker}
    {3.9,3.10,3.11,3.12,3.13,3.14,pypy3}-smoke

    flake8
    apicheck
    configcheck
    bandit


[gh-actions]
python =
    3.9: 3.9-unit
    3.10: 3.10-unit
    3.11: 3.11-unit
    3.12: 3.12-unit
    3.13: 3.13-unit
    3.14: 3.14-unit
    pypy-3: pypy3-unit

[testenv]
sitepackages = False
recreate = False
passenv =
    AZUREBLOCKBLOB_URL

deps=
    -r{toxinidir}/requirements/test.txt
    -r{toxinidir}/requirements/pkgutils.txt

    3.9,3.10,3.11,3.12,3.13,3.14: -r{toxinidir}/requirements/test-ci-default.txt
    3.9,3.10,3.11,3.12,3.13,3.14: -r{toxinidir}/requirements/docs.txt
    pypy3: -r{toxinidir}/requirements/test-ci-default.txt

    integration: -r{toxinidir}/requirements/test-integration.txt
    smoke: pytest-xdist>=3.5

    linkcheck,apicheck,configcheck: -r{toxinidir}/requirements/docs.txt
    lint: pre-commit
    bandit: bandit

commands =
    unit: pytest -vv --maxfail=10 --capture=no -v --cov=celery --cov-report=xml --junitxml=junit.xml -o junit_family=legacy --cov-report term {posargs}
    integration: pytest -xsvv t/integration {posargs}
    smoke: pytest -xsvv t/smoke --dist=loadscope --reruns 5 --reruns-delay 10 {posargs}
setenv =
    PIP_EXTRA_INDEX_URL=https://celery.github.io/celery-wheelhouse/repo/simple/
    BOTO_CONFIG = /dev/null
    WORKER_LOGLEVEL = INFO
    PYTHONIOENCODING = UTF-8
    PYTHONUNBUFFERED = 1
    PYTHONDONTWRITEBYTECODE = 1

    cache: TEST_BROKER=redis://
    cache: TEST_BACKEND=cache+pylibmc://

    cassandra: TEST_BROKER=redis://
    cassandra: TEST_BACKEND=cassandra://

    elasticsearch: TEST_BROKER=redis://
    elasticsearch: TEST_BACKEND=elasticsearch://@localhost:9200

    rabbitmq: TEST_BROKER=pyamqp://
    rabbitmq: TEST_BACKEND=rpc

    redis: TEST_BROKER=redis://
    redis: TEST_BACKEND=redis://

    rabbitmq_redis: TEST_BROKER=pyamqp://
    rabbitmq_redis: TEST_BACKEND=redis://

    docker: TEST_BROKER=pyamqp://rabbit:5672
    docker: TEST_BACKEND=redis://redis

    dynamodb: TEST_BROKER=redis://
    dynamodb: TEST_BACKEND=dynamodb://@localhost:8000
    dynamodb: AWS_ACCESS_KEY_ID=test_aws_key_id
    dynamodb: AWS_SECRET_ACCESS_KEY=test_aws_secret_key

    azureblockblob: TEST_BROKER=redis://
    azureblockblob: TEST_BACKEND=azureblockblob://DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

basepython =
    3.9: python3.9
    3.10: python3.10
    3.11: python3.11
    3.12: python3.12
    3.13: python3.13
    3.14: python3.14
    pypy3: pypy3
    mypy: python3.13
    lint,apicheck,linkcheck,configcheck,bandit: python3.13
usedevelop = True

[testenv:mypy]
commands = python -m mypy --config-file pyproject.toml

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

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

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

[testenv:bandit]
commands =
    bandit -b bandit.json -r celery/

[testenv:lint]
commands =
    pre-commit {posargs:run --all-files --show-diff-on-failure}

[testenv:clean]
deps = cleanpy
allowlist_externals = bash, make, rm
commands =
    bash -c 'files=$(find . -name "*.coverage*" -type f); if [ -n "$files" ]; then echo "Removed coverage file(s):"; echo "$files" | tr " " "\n"; rm $files; fi'
    bash -c 'containers=$(docker ps -aq --filter label=creator=pytest-docker-tools); if [ -n "$containers" ]; then echo "Removed Docker container(s):"; docker rm -f $containers; fi'
    bash -c 'networks=$(docker network ls --filter name=pytest- -q); if [ -n "$networks" ]; then echo "Removed Docker network(s):"; docker network rm $networks; fi'
    bash -c 'volumes=$(docker volume ls --filter name=pytest- -q); if [ -n "$volumes" ]; then echo "Removed Docker volume(s):"; docker volume rm $volumes; fi'
    python -m cleanpy .
    make clean
    rm -f test.db statefilename.db 86