Files
2022-11-22 02:33:59 +00:00

586 lines
28 KiB
INI

[tox]
isolated_build = True
skipsdist = True
skip_missing_interpreters = True
envlist =
; Environments are organized by individual package, allowing
; for specifying supported Python versions per package.
; opentelemetry-sdk-extension-aws
py3{7,8,9,10,11}-test-sdkextension-aws
pypy3-test-sdkextension-aws
; opentelemetry-distro
py3{7,8,9,10,11}-test-distro
pypy3-test-distro
; opentelemetry-instrumentation
py3{7,8,9,10,11}-test-opentelemetry-instrumentation
pypy3-test-opentelemetry-instrumentation
; opentelemetry-instrumentation-aiohttp-client
py3{7,8,9,10,11}-test-instrumentation-aiohttp-client
pypy3-test-instrumentation-aiohttp-client
; opentelemetry-instrumentation-aiopg
py3{7,8,9,10,11}-test-instrumentation-aiopg
; instrumentation-aiopg intentionally excluded from pypy3
; opentelemetry-instrumentation-aws-lambda
py3{7,8,9}-test-instrumentation-aws-lambda
; opentelemetry-instrumentation-botocore
py3{7,8,9,10,11}-test-instrumentation-botocore
pypy3-test-instrumentation-botocore
; opentelemetry-instrumentation-boto3sqs
py3{6,7,8,9,10,11}-test-instrumentation-boto3sqs
pypy3-test-instrumentation-boto3sqs
; opentelemetry-instrumentation-django
; Only officially supported Python versions are tested for each Django
; major release. Updated list can be found at:
; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
py3{7}-test-instrumentation-django1
py3{7,8,9}-test-instrumentation-django2
py3{7,8,9,10,11}-test-instrumentation-django3
py3{8,9,10,11}-test-instrumentation-django4
pypy3-test-instrumentation-django{1,2,3}
; opentelemetry-instrumentation-dbapi
py3{7,8,9,10,11}-test-instrumentation-dbapi
pypy3-test-instrumentation-dbapi
; opentelemetry-instrumentation-boto
py3{7,8,9,10,11}-test-instrumentation-boto
pypy3-test-instrumentation-boto
; opentelemetry-instrumentation-elasticsearch
py3{7,8,9,10,11}-test-instrumentation-elasticsearch{2,6}
pypy3-test-instrumentation-elasticsearch{2,6}
; opentelemetry-instrumentation-elasticsearch5
py3{7,8,9}-test-instrumentation-elasticsearch5
pypy3-test-instrumentation-elasticsearch5
; opentelemetry-instrumentation-falcon
; py310 does not work with falcon 1
py3{7,8,9}-test-instrumentation-falcon1
py3{7,8,9,10,11}-test-instrumentation-falcon{2,3}
pypy3-test-instrumentation-falcon{1,2,3}
; opentelemetry-instrumentation-fastapi
py3{7,8,9,10,11}-test-instrumentation-fastapi
pypy3-test-instrumentation-fastapi
; opentelemetry-instrumentation-flask
py3{7,8,9,10,11}-test-instrumentation-flask
pypy3-test-instrumentation-flask
; opentelemetry-instrumentation-urllib
py3{7,8,9,10,11}-test-instrumentation-urllib
pypy3-test-instrumentation-urllib
; opentelemetry-instrumentation-urllib3
py3{7,8,9,10,11}-test-instrumentation-urllib3
pypy3-test-instrumentation-urllib3
; opentelemetry-instrumentation-requests
py3{7,8,9,10,11}-test-instrumentation-requests
pypy3-test-instrumentation-requests
; opentelemetry-instrumentation-starlette.
py3{7,8,9,10,11}-test-instrumentation-starlette
pypy3-test-instrumentation-starlette
; opentelemetry-instrumentation-jinja2
py3{7,8,9,10,11}-test-instrumentation-jinja2
pypy3-test-instrumentation-jinja2
; opentelemetry-instrumentation-logging
py3{7,8,9,10,11}-test-instrumentation-logging
pypy3-test-instrumentation-logging
; opentelemetry-exporter-richconsole
py3{7,8,9,10,11}-test-exporter-richconsole
; opentelemetry-exporter-prometheus-remote-write
py3{6,7,8,9,10}-test-exporter-prometheus-remote-write
; opentelemetry-instrumentation-mysql
py3{7,8,9,10,11}-test-instrumentation-mysql
pypy3-test-instrumentation-mysql
; opentelemetry-instrumentation-psycopg2
py3{7,8,9,10,11}-test-instrumentation-psycopg2
; ext-psycopg2 intentionally excluded from pypy3
; opentelemetry-instrumentation-pymemcache
py3{7,8,9,10,11}-test-instrumentation-pymemcache{135,200,300,342}
pypy3-test-instrumentation-pymemcache{135,200,300,342}
; opentelemetry-instrumentation-pymongo
py3{7,8,9,10,11}-test-instrumentation-pymongo
pypy3-test-instrumentation-pymongo
; opentelemetry-instrumentation-pymysql
py3{7,8,9,10,11}-test-instrumentation-pymysql
pypy3-test-instrumentation-pymysql
; opentelemetry-instrumentation-pyramid
py3{7,8,9,10,11}-test-instrumentation-pyramid
pypy3-test-instrumentation-pyramid
; opentelemetry-instrumentation-asgi
py3{7,8,9,10,11}-test-instrumentation-asgi
pypy3-test-instrumentation-asgi
; opentelemetry-instrumentation-asyncpg
py3{7,8,9,10,11}-test-instrumentation-asyncpg
; ext-asyncpg intentionally excluded from pypy3
; opentelemetry-instrumentation-sqlite3
py3{7,8,9,10,11}-test-instrumentation-sqlite3
pypy3-test-instrumentation-sqlite3
; opentelemetry-instrumentation-wsgi
py3{7,8,9,10,11}-test-instrumentation-wsgi
pypy3-test-instrumentation-wsgi
; opentelemetry-instrumentation-grpc
py3{7,8,9,10,11}-test-instrumentation-grpc
; opentelemetry-instrumentation-sqlalchemy
py3{7}-test-instrumentation-sqlalchemy{11}
py3{7,8,9,10,11}-test-instrumentation-sqlalchemy{14}
pypy3-test-instrumentation-sqlalchemy{11,14}
; opentelemetry-instrumentation-redis
py3{7,8,9,10,11}-test-instrumentation-redis
pypy3-test-instrumentation-redis
; opentelemetry-instrumentation-remoulade
; remoulade only supports 3.7 and above
py3{7,8,9,10,11}-test-instrumentation-remoulade
; instrumentation-remoulade intentionally excluded from pypy3
; opentelemetry-instrumentation-celery
py3{7,8,9,10,11}-test-instrumentation-celery
pypy3-test-instrumentation-celery
; opentelemetry-instrumentation-sklearn
py3{7,8}-test-instrumentation-sklearn
; opentelemetry-instrumentation-system-metrics
py3{6,7,8,9,10,11}-test-instrumentation-system-metrics
; instrumentation-system-metrics intentionally excluded from pypy3
; opentelemetry-instrumentation-tornado
py3{7,8,9,10,11}-test-instrumentation-tornado
pypy3-test-instrumentation-tornado
; opentelemetry-instrumentation-tortoiseorm
py3{7,8,9,10,11}-test-instrumentation-tortoiseorm
pypy3-test-instrumentation-tortoiseorm
; opentelemetry-instrumentation-httpx
py3{7,8,9,10,11}-test-instrumentation-httpx{18,21}
pypy3-test-instrumentation-httpx{18,21}
; opentelemetry-util-http
py3{7,8,9,10,11}-test-util-http
pypy3-test-util-http
; opentelemetry-propagator-aws-xray
py3{7,8,9,10,11}-test-propagator-aws-xray
pypy3-test-propagator-aws-xray
; opentelemetry-propagator-ot-trace
py3{7,8,9,10,11}-test-propagator-ot-trace
pypy3-test-propagator-ot-trace
; opentelemetry-instrumentation-pika
py3{7,8,9,10,11}-test-instrumentation-pika{0,1}
pypy3-test-instrumentation-pika{0,1}
; opentelemetry-instrumentation-kafka-python
py3{7,8,9,10,11}-test-instrumentation-kafka-python
pypy3-test-instrumentation-kafka-python
lint
spellcheck
docker-tests
docs
generate
[testenv]
deps =
-c dev-requirements.txt
test: pytest
test: pytest-benchmark
coverage: pytest
coverage: pytest-cov
django1: django~=1.0
django2: django~=2.0
django3: django~=3.0
django4: django>=4.0b1,<5.0
elasticsearch2: elasticsearch-dsl>=2.0,<3.0
elasticsearch2: elasticsearch>=2.0,<3.0
elasticsearch5: elasticsearch-dsl>=5.0,<6.0
elasticsearch5: elasticsearch>=5.0,<6.0
elasticsearch6: elasticsearch-dsl>=6.0,<7.0
elasticsearch6: elasticsearch>=6.0,<7.0
; FIXME: Elasticsearch >=7 causes CI workflow tests to hang, see open-telemetry/opentelemetry-python-contrib#620
; elasticsearch7: elasticsearch-dsl>=7.0,<8.0
; elasticsearch7: elasticsearch>=7.0,<8.0
falcon1: falcon ==1.4.1
falcon2: falcon >=2.0.0,<3.0.0
falcon3: falcon >=3.0.0,<4.0.0
grpc: pytest-asyncio
sqlalchemy11: sqlalchemy>=1.1,<1.2
sqlalchemy14: aiosqlite
sqlalchemy14: sqlalchemy~=1.4
pika0: pika>=0.12.0,<1.0.0
pika1: pika>=1.0.0
pymemcache135: pymemcache ==1.3.5
pymemcache200: pymemcache >2.0.0,<3.0.0
pymemcache300: pymemcache >3.0.0,<3.4.2
pymemcache342: pymemcache ==3.4.2
httpx18: httpx>=0.18.0,<0.19.0
httpx18: respx~=0.17.0
httpx21: httpx>=0.19.0
httpx21: respx~=0.19.0
; FIXME: add coverage testing
; FIXME: add mypy testing
setenv =
; override CORE_REPO_SHA via env variable when testing other branches/commits than main
; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e <env to test>
CORE_REPO_SHA={env:CORE_REPO_SHA:main}
CORE_REPO="git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA}"
changedir =
test-distro: opentelemetry-distro/tests
test-opentelemetry-instrumentation: opentelemetry-instrumentation/tests
test-instrumentation-aiohttp-client: instrumentation/opentelemetry-instrumentation-aiohttp-client/tests
test-instrumentation-aiopg: instrumentation/opentelemetry-instrumentation-aiopg/tests
test-instrumentation-asgi: instrumentation/opentelemetry-instrumentation-asgi/tests
test-instrumentation-asyncpg: instrumentation/opentelemetry-instrumentation-asyncpg/tests
test-instrumentation-aws-lambda: instrumentation/opentelemetry-instrumentation-aws-lambda/tests
test-instrumentation-boto: instrumentation/opentelemetry-instrumentation-boto/tests
test-instrumentation-botocore: instrumentation/opentelemetry-instrumentation-botocore/tests
test-instrumentation-boto3sqs: instrumentation/opentelemetry-instrumentation-boto3sqs/tests
test-instrumentation-celery: instrumentation/opentelemetry-instrumentation-celery/tests
test-instrumentation-dbapi: instrumentation/opentelemetry-instrumentation-dbapi/tests
test-instrumentation-django{1,2,3,4}: instrumentation/opentelemetry-instrumentation-django/tests
test-instrumentation-elasticsearch{2,5,6}: instrumentation/opentelemetry-instrumentation-elasticsearch/tests
test-instrumentation-falcon{1,2,3}: instrumentation/opentelemetry-instrumentation-falcon/tests
test-instrumentation-fastapi: instrumentation/opentelemetry-instrumentation-fastapi/tests
test-instrumentation-flask: instrumentation/opentelemetry-instrumentation-flask/tests
test-instrumentation-urllib: instrumentation/opentelemetry-instrumentation-urllib/tests
test-instrumentation-urllib3: instrumentation/opentelemetry-instrumentation-urllib3/tests
test-instrumentation-grpc: instrumentation/opentelemetry-instrumentation-grpc/tests
test-instrumentation-jinja2: instrumentation/opentelemetry-instrumentation-jinja2/tests
test-instrumentation-kafka-python: instrumentation/opentelemetry-instrumentation-kafka-python/tests
test-instrumentation-logging: instrumentation/opentelemetry-instrumentation-logging/tests
test-instrumentation-mysql: instrumentation/opentelemetry-instrumentation-mysql/tests
test-instrumentation-pika{0,1}: instrumentation/opentelemetry-instrumentation-pika/tests
test-instrumentation-psycopg2: instrumentation/opentelemetry-instrumentation-psycopg2/tests
test-instrumentation-pymemcache{135,200,300,342}: instrumentation/opentelemetry-instrumentation-pymemcache/tests
test-instrumentation-pymongo: instrumentation/opentelemetry-instrumentation-pymongo/tests
test-instrumentation-pymysql: instrumentation/opentelemetry-instrumentation-pymysql/tests
test-instrumentation-pyramid: instrumentation/opentelemetry-instrumentation-pyramid/tests
test-instrumentation-redis: instrumentation/opentelemetry-instrumentation-redis/tests
test-instrumentation-remoulade: instrumentation/opentelemetry-instrumentation-remoulade/tests
test-instrumentation-requests: instrumentation/opentelemetry-instrumentation-requests/tests
test-instrumentation-sklearn: instrumentation/opentelemetry-instrumentation-sklearn/tests
test-instrumentation-sqlalchemy{11,14}: instrumentation/opentelemetry-instrumentation-sqlalchemy/tests
test-instrumentation-sqlite3: instrumentation/opentelemetry-instrumentation-sqlite3/tests
test-instrumentation-starlette: instrumentation/opentelemetry-instrumentation-starlette/tests
test-instrumentation-system-metrics: instrumentation/opentelemetry-instrumentation-system-metrics/tests
test-instrumentation-tornado: instrumentation/opentelemetry-instrumentation-tornado/tests
test-instrumentation-tortoiseorm: instrumentation/opentelemetry-instrumentation-tortoiseorm/tests
test-instrumentation-wsgi: instrumentation/opentelemetry-instrumentation-wsgi/tests
test-instrumentation-httpx{18,21}: instrumentation/opentelemetry-instrumentation-httpx/tests
test-util-http: util/opentelemetry-util-http/tests
test-sdkextension-aws: sdk-extension/opentelemetry-sdk-extension-aws/tests
test-propagator-aws: propagator/opentelemetry-propagator-aws-xray/tests
test-propagator-ot-trace: propagator/opentelemetry-propagator-ot-trace/tests
test-exporter-richconsole: exporter/opentelemetry-exporter-richconsole/tests
test-exporter-prometheus-remote-write: exporter/opentelemetry-exporter-prometheus-remote-write/tests
commands_pre =
; Install without -e to test the actual installation
py3{7,8,9,10,11}: python -m pip install -U pip setuptools wheel
; Install common packages for all the tests. These are not needed in all the
; cases but it saves a lot of boilerplate in this file.
test: pip install "opentelemetry-api[test] @ {env:CORE_REPO}#egg=opentelemetry-api&subdirectory=opentelemetry-api"
test: pip install "opentelemetry-semantic-conventions[test] @ {env:CORE_REPO}#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions"
test: pip install "opentelemetry-sdk[test] @ {env:CORE_REPO}#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk"
test: pip install "opentelemetry-test-utils[test] @ {env:CORE_REPO}#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils"
test: pip install {toxinidir}/opentelemetry-instrumentation
distro: pip install {toxinidir}/opentelemetry-distro
celery: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-celery[test]
pika{0,1}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pika[test]
kafka-python: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python[test]
grpc: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc[test]
falcon{1,2,3},flask,django{1,2,3,4},pyramid,tornado,starlette,fastapi,aiohttp,asgi,requests,urllib,urllib3,wsgi: pip install {toxinidir}/util/opentelemetry-util-http[test]
wsgi,falcon{1,2,3},flask,django{1,2,3,4},pyramid: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi[test]
asgi,django{3,4},starlette,fastapi: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi[test]
asyncpg: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg[test]
aws-lambda: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda[test]
boto: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore[test]
boto: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-boto[test]
boto3sqs: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs[test]
falcon{1,2,3}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon[test]
flask: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-flask[test]
urllib: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib[test]
urllib3: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3[test]
botocore: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore[test]
dbapi: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi[test]
django{1,2,3,4}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-django[test]
fastapi: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi[test]
mysql: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql[test]
pymemcache{135,200,300,342}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache[test]
pymongo: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo[test]
psycopg2: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2[test]
pymysql: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql[test]
pyramid: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid[test]
sqlite3: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3[test]
redis: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-redis[test]
remoulade: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade[test]
requests: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-requests[test]
starlette: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette[test]
system-metrics: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics[test]
tornado: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado[test]
tortoiseorm: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm[test]
jinja2: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2[test]
logging: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-logging[test]
aiohttp-client: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client[test]
aiopg: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg[test]
richconsole: pip install flaky {toxinidir}/exporter/opentelemetry-exporter-richconsole[test]
prometheus: pip install {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write[test]
sklearn: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-sklearn[test]
sqlalchemy{11,14}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy[test]
elasticsearch{2,5,6}: pip install {toxinidir}/opentelemetry-instrumentation[test] {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch[test]
httpx{18,21}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx[test]
sdkextension-aws: pip install {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws[test]
http: pip install {toxinidir}/util/opentelemetry-util-http[test]
; In order to get a health coverage report,
propagator-ot-trace: pip install {toxinidir}/propagator/opentelemetry-propagator-ot-trace[test]
propagator-aws-xray: pip install requests {toxinidir}/propagator/opentelemetry-propagator-aws-xray[test]
; we have to install packages in editable mode.
coverage: python {toxinidir}/scripts/eachdist.py install --editable
commands =
test: pytest {posargs}
coverage: {toxinidir}/scripts/coverage.sh
[testenv:docs]
deps =
-c {toxinidir}/dev-requirements.txt
-r {toxinidir}/docs-requirements.txt
pytest
commands_pre =
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-api&subdirectory=opentelemetry-api"
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions"
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk"
python -m pip install {toxinidir}/opentelemetry-instrumentation
python -m pip install {toxinidir}/util/opentelemetry-util-http
changedir = docs
commands =
sphinx-build -E -a -W -b html -T . _build/html
[testenv:spellcheck]
basepython: python3.9
recreate = True
deps =
codespell
commands =
codespell
[testenv:lint]
basepython: python3.9
recreate = False
deps =
-c dev-requirements.txt
flaky
pylint
flake8
isort
black
readme_renderer
httpretty
commands_pre =
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-api&subdirectory=opentelemetry-api"
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions"
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk"
python -m pip install "{env:CORE_REPO}#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils"
python -m pip install -e {toxinidir}/util/opentelemetry-util-http[test]
python -m pip install -e {toxinidir}/opentelemetry-instrumentation[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-django[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-boto[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-flask[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sklearn[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-logging[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-requests[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda[test]
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics[test]
python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-richconsole[test]
python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write[test]
python -m pip install -e {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws[test]
python -m pip install -e {toxinidir}/propagator/opentelemetry-propagator-aws-xray[test]
python -m pip install -e {toxinidir}/propagator/opentelemetry-propagator-ot-trace[test]
python -m pip install -e {toxinidir}/opentelemetry-distro[test]
commands =
python scripts/eachdist.py lint --check-only
[testenv:docker-tests]
basepython: python3.9
deps =
pip >= 20.3.3
pytest
asyncpg==0.20.1
docker-compose >= 1.25.2
mysql-connector-python ~= 8.0
pymongo >= 3.1, < 5.0
PyMySQL ~= 0.10.1
psycopg2 ~= 2.8.4
aiopg >= 0.13.0, < 1.3.0
sqlalchemy ~= 1.4
redis ~= 4.3
celery[pytest] >= 4.0, < 6.0
protobuf~=3.13
requests==2.25.0
pyodbc~=4.0.30
flaky==3.7.0
remoulade>=0.50
changedir =
tests/opentelemetry-docker-tests/tests
commands_pre =
pip install "{env:CORE_REPO}#egg=opentelemetry-api&subdirectory=opentelemetry-api" \
"{env:CORE_REPO}#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions" \
"{env:CORE_REPO}#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk" \
"{env:CORE_REPO}#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils" \
-e {toxinidir}/opentelemetry-instrumentation \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis \
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade \
"{env:CORE_REPO}#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus"
docker-compose up -d
python check_availability.py
commands =
pytest {posargs}
commands_post =
docker-compose down -v
[testenv:generate]
deps =
-r {toxinidir}/gen-requirements.txt
commands =
{toxinidir}/scripts/generate_instrumentation_bootstrap.py
{toxinidir}/scripts/generate_instrumentation_readme.py
{toxinidir}/scripts/generate_instrumentation_metapackage.py