212 lines
5.9 KiB
INI
212 lines
5.9 KiB
INI
# Tox (http://codespeak.net/~hpk/tox/) is a tool for running tests
|
|
# in multiple virtualenvs. This configuration file will run the
|
|
# test suite on all supported python versions. To use it, "pip install tox"
|
|
# and then run "tox" from this directory.
|
|
|
|
[tox]
|
|
envlist =
|
|
# === Core ===
|
|
py{2.7,3.4,3.5,3.6,3.7,3.8}
|
|
pypy
|
|
|
|
|
|
# === Integrations ===
|
|
# Formatting: 1 blank line between different integrations.
|
|
|
|
py3.7-django-{2.2,dev}
|
|
{py3.5,py3.6,py3.7}-django-{2.0,2.1}
|
|
{pypy,py2.7,py3.5}-django-1.11
|
|
{pypy,py2.7,py3.4,py3.5}-django-{1.8,1.9,1.10}
|
|
{pypy,py2.7,py3.4}-django-1.7
|
|
{pypy,py2.7}-django-1.6
|
|
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-flask-{1.1,1.0,0.11,0.12,dev}
|
|
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-bottle-0.12
|
|
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-falcon-1.4
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-falcon-2.0
|
|
|
|
{py3.5,py3.6,py3.7}-sanic-{0.8,18}
|
|
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-celery-{4.1,4.2,4.3}
|
|
{pypy,py2.7}-celery-3
|
|
|
|
py2.7-beam-{12,13}
|
|
py3.7-beam-{12,13, master}
|
|
|
|
# The aws_lambda tests deploy to the real AWS and have their own matrix of Python versions.
|
|
py3.7-aws_lambda
|
|
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-pyramid-{1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10}
|
|
|
|
{pypy,py2.7,py3.5,py3.6}-rq-{0.6,0.7,0.8,0.9,0.10,0.11}
|
|
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-rq-{0.12,0.13,1.0,1.1}
|
|
|
|
py3.7-aiohttp-{3.5,3.6}
|
|
|
|
{py3.7,py3.8}-tornado-{5,6}
|
|
|
|
{py2.7,py3.7}-requests
|
|
|
|
{py2.7,py3.7}-redis
|
|
|
|
py3.7-asgi
|
|
|
|
{py2.7,py3.7}-sqlalchemy-{1.2,1.3}
|
|
|
|
[testenv]
|
|
deps =
|
|
-r test-requirements.txt
|
|
|
|
django-{1.11,2.0,2.1,2.2}: djangorestframework>=3.0.0,<4.0.0
|
|
py3.7-django-{1.11,2.0,2.1,2.2}: channels>2
|
|
py3.7-django-{1.11,2.0,2.1,2.2}: pytest-asyncio
|
|
{py2.7,py3.7}-django-{1.11,2.2}: psycopg2-binary
|
|
|
|
django-{1.6,1.7,1.8}: pytest-django<3.0
|
|
django-{1.9,1.10,1.11,2.0,2.1,2.2,dev}: pytest-django>=3.0
|
|
|
|
django-1.6: Django>=1.6,<1.7
|
|
django-1.7: Django>=1.7,<1.8
|
|
django-1.8: Django>=1.8,<1.9
|
|
django-1.9: Django>=1.9,<1.10
|
|
django-1.10: Django>=1.10,<1.11
|
|
django-1.11: Django>=1.11,<1.12
|
|
django-2.0: Django>=2.0,<2.1
|
|
django-2.1: Django>=2.1,<2.2
|
|
django-2.2: Django>=2.2,<2.3
|
|
django-dev: git+https://github.com/django/django.git#egg=Django
|
|
|
|
flask: flask-login
|
|
flask-0.11: Flask>=0.11,<0.12
|
|
flask-0.12: Flask>=0.12,<0.13
|
|
flask-1.0: Flask>=1.0,<1.1
|
|
flask-1.1: Flask>=1.1,<1.2
|
|
flask-dev: git+https://github.com/pallets/flask.git#egg=flask
|
|
|
|
bottle-0.12: bottle>=0.12,<0.13
|
|
bottle-dev: git+https://github.com/bottlepy/bottle#egg=bottle
|
|
|
|
falcon-1.4: falcon>=1.4,<1.5
|
|
falcon-2.0: falcon>=2.0.0rc3,<3.0
|
|
|
|
sanic-0.8: sanic>=0.8,<0.9
|
|
sanic-18: sanic>=18.0,<19.0
|
|
{py3.5,py3.6}-sanic: aiocontextvars==0.2.1
|
|
sanic: aiohttp
|
|
|
|
beam-12: apache-beam>=2.12.0, <2.13.0
|
|
beam-13: apache-beam>=2.13.0, <2.14.0
|
|
beam-master: git+https://github.com/apache/beam#egg=apache-beam&subdirectory=sdks/python
|
|
|
|
celery-3: Celery>=3.1,<4.0
|
|
celery-4.1: Celery>=4.1,<4.2
|
|
celery-4.2: Celery>=4.2,<4.3
|
|
celery-4.3: Celery>=4.3,<4.4
|
|
|
|
requests: requests>=2.0
|
|
|
|
aws_lambda: boto3
|
|
|
|
pyramid-1.3: pyramid>=1.3,<1.4
|
|
pyramid-1.4: pyramid>=1.4,<1.5
|
|
pyramid-1.5: pyramid>=1.5,<1.6
|
|
pyramid-1.6: pyramid>=1.6,<1.7
|
|
pyramid-1.7: pyramid>=1.7,<1.8
|
|
pyramid-1.8: pyramid>=1.8,<1.9
|
|
pyramid-1.9: pyramid>=1.9,<1.10
|
|
pyramid-1.10: pyramid>=1.10,<1.11
|
|
|
|
rq-{0.6,0.7,0.8,0.9,0.10,0.11,0.12}: fakeredis<1.0
|
|
rq-{0.13,1.0,1.1}: fakeredis>=1.0
|
|
# https://github.com/jamesls/fakeredis/issues/245
|
|
rq: redis<3.2.2
|
|
|
|
rq-0.6: rq>=0.6,<0.7
|
|
rq-0.7: rq>=0.7,<0.8
|
|
rq-0.8: rq>=0.8,<0.9
|
|
rq-0.9: rq>=0.9,<0.10
|
|
rq-0.10: rq>=0.10,<0.11
|
|
rq-0.11: rq>=0.11,<0.12
|
|
rq-0.12: rq>=0.12,<0.13
|
|
rq-0.13: rq>=0.13,<0.14
|
|
rq-1.0: rq>=1.0,<1.1
|
|
rq-1.1: rq>=1.1,<1.2
|
|
|
|
aiohttp-3.4: aiohttp>=3.4.0,<3.5.0
|
|
aiohttp-3.5: aiohttp>=3.5.0,<3.6.0
|
|
aiohttp: pytest-aiohttp
|
|
|
|
tornado-5: tornado>=5,<6
|
|
tornado-6: tornado>=6.0a1
|
|
|
|
redis: fakeredis
|
|
# https://github.com/jamesls/fakeredis/issues/245
|
|
redis: redis<3.2.2
|
|
|
|
asgi: starlette
|
|
asgi: requests
|
|
|
|
sqlalchemy-1.2: sqlalchemy>=1.2,<1.3
|
|
sqlalchemy-1.3: sqlalchemy>=1.3,<1.4
|
|
|
|
linters: black
|
|
linters: flake8
|
|
linters: flake8-import-order
|
|
linters: mypy>=0.720
|
|
|
|
# https://github.com/PyCQA/flake8-bugbear/pull/77
|
|
linters: git+https://github.com/untitaker/flake8-bugbear#branch=fix/b901-yield-expr
|
|
setenv =
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
TESTPATH=tests
|
|
beam: TESTPATH=tests/integrations/beam
|
|
django: TESTPATH=tests/integrations/django
|
|
flask: TESTPATH=tests/integrations/flask
|
|
bottle: TESTPATH=tests/integrations/bottle
|
|
falcon: TESTPATH=tests/integrations/falcon
|
|
celery: TESTPATH=tests/integrations/celery
|
|
requests: TESTPATH=tests/integrations/requests
|
|
aws_lambda: TESTPATH=tests/integrations/aws_lambda
|
|
sanic: TESTPATH=tests/integrations/sanic
|
|
pyramid: TESTPATH=tests/integrations/pyramid
|
|
rq: TESTPATH=tests/integrations/rq
|
|
aiohttp: TESTPATH=tests/integrations/aiohttp
|
|
tornado: TESTPATH=tests/integrations/tornado
|
|
redis: TESTPATH=tests/integrations/redis
|
|
asgi: TESTPATH=tests/integrations/asgi
|
|
sqlalchemy: TESTPATH=tests/integrations/sqlalchemy
|
|
|
|
COVERAGE_FILE=.coverage-{envname}
|
|
passenv =
|
|
SENTRY_PYTHON_TEST_AWS_ACCESS_KEY_ID
|
|
SENTRY_PYTHON_TEST_AWS_SECRET_ACCESS_KEY
|
|
SENTRY_PYTHON_TEST_AWS_IAM_ROLE
|
|
SENTRY_PYTHON_TEST_POSTGRES_USER
|
|
SENTRY_PYTHON_TEST_POSTGRES_NAME
|
|
usedevelop = True
|
|
extras =
|
|
flask: flask
|
|
bottle: bottle
|
|
falcon: falcon
|
|
|
|
basepython =
|
|
py2.7: python2.7
|
|
py3.4: python3.4
|
|
py3.5: python3.5
|
|
py3.6: python3.6
|
|
py3.7: python3.7
|
|
py3.8: python3.8
|
|
linters: python3
|
|
pypy: pypy
|
|
|
|
commands =
|
|
py.test {env:TESTPATH} {posargs}
|
|
|
|
[testenv:linters]
|
|
commands =
|
|
flake8 tests examples sentry_sdk
|
|
black --check tests examples sentry_sdk
|
|
mypy examples sentry_sdk
|