Skip to content

Commit 24e1eab

Browse files
committed
Refactor use of changedir in tox.ini (open-telemetry#2332)
Fixes #3745
1 parent 8daa8ad commit 24e1eab

File tree

5 files changed

+136
-81
lines changed

5 files changed

+136
-81
lines changed

instrumentation/opentelemetry-instrumentation-elasticsearch/pyproject.toml

-5
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@ dependencies = [
3434
instruments = [
3535
"elasticsearch >= 2.0",
3636
]
37-
test = [
38-
"opentelemetry-instrumentation-elasticsearch[instruments]",
39-
"elasticsearch-dsl >= 2.0",
40-
"opentelemetry-test-utils == 0.45b0.dev",
41-
]
4237

4338
[project.entry-points.opentelemetry_instrumentor]
4439
elasticsearch = "opentelemetry.instrumentation.elasticsearch:ElasticsearchInstrumentor"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
asgiref==3.7.2
2+
attrs==23.2.0
3+
Deprecated==1.2.14
4+
elasticsearch==2.4.1
5+
elasticsearch-dsl==2.2.0
6+
importlib-metadata==6.11.0
7+
iniconfig==2.0.0
8+
packaging==23.2
9+
pluggy==1.4.0
10+
py==1.11.0
11+
py-cpuinfo==9.0.0
12+
pytest==7.1.3
13+
pytest-benchmark==4.0.0
14+
python-dateutil==2.8.2
15+
six==1.16.0
16+
tomli==2.0.1
17+
typing_extensions==4.10.0
18+
urllib3==1.26.18
19+
wrapt==1.16.0
20+
zipp==3.17.0
21+
-e ../../../opentelemetry-instrumentation
22+
-e ../../../instrumentation/opentelemetry-instrumentation-elasticsearch
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
asgiref==3.7.2
2+
attrs==23.2.0
3+
Deprecated==1.2.14
4+
elasticsearch==5.5.3
5+
elasticsearch-dsl==5.4.0
6+
importlib-metadata==6.11.0
7+
iniconfig==2.0.0
8+
packaging==23.2
9+
pluggy==1.4.0
10+
py==1.11.0
11+
py-cpuinfo==9.0.0
12+
pytest==7.1.3
13+
pytest-benchmark==4.0.0
14+
python-dateutil==2.8.2
15+
six==1.16.0
16+
tomli==2.0.1
17+
typing_extensions==4.10.0
18+
urllib3==2.2.1
19+
wrapt==1.16.0
20+
zipp==3.17.0
21+
-e ../../../opentelemetry-instrumentation
22+
-e ../../../instrumentation/opentelemetry-instrumentation-elasticsearch
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
asgiref==3.7.2
2+
attrs==23.2.0
3+
Deprecated==1.2.14
4+
elasticsearch==6.8.2
5+
elasticsearch-dsl==6.4.0
6+
importlib-metadata==6.11.0
7+
iniconfig==2.0.0
8+
packaging==23.2
9+
pluggy==1.4.0
10+
py==1.11.0
11+
py-cpuinfo==9.0.0
12+
pytest==7.1.3
13+
pytest-benchmark==4.0.0
14+
python-dateutil==2.8.2
15+
six==1.16.0
16+
tomli==2.0.1
17+
typing_extensions==4.10.0
18+
urllib3==2.2.1
19+
wrapt==1.16.0
20+
zipp==3.17.0
21+
-e ../../../opentelemetry-instrumentation
22+
-e ../../../instrumentation/opentelemetry-instrumentation-elasticsearch

tox.ini

+70-76
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,16 @@ envlist =
6767
; pypy3-test-instrumentation-boto
6868

6969
; opentelemetry-instrumentation-elasticsearch
70-
py3{8,9,10,11}-test-instrumentation-elasticsearch-{2,6}
71-
pypy3-test-instrumentation-elasticsearch-{2,6}
72-
py3{8,9}-test-instrumentation-elasticsearch-5
73-
pypy3-test-instrumentation-elasticsearch-5
70+
; FIXME: Elasticsearch >=7 causes CI workflow tests to hang, see open-telemetry/opentelemetry-python-contrib#620
71+
; The numbers at the end of the environment names
72+
; below mean these dependencies are being used:
73+
; 0: elasticsearch-dsl>=2.0,<3.0 elasticsearch>=2.0,<3.0
74+
; 1: elasticsearch-dsl>=5.0,<6.0 elasticsearch>=5.0,<6.0
75+
; 2: elasticsearch-dsl>=6.0,<7.0 elasticsearch>=6.0,<7.0
76+
py3{8,9,10,11}-test-instrumentation-elasticsearch-{0,2}
77+
pypy3-test-instrumentation-elasticsearch-{0,2}
78+
py3{8,9}-test-instrumentation-elasticsearch-1
79+
pypy3-test-instrumentation-elasticsearch-1
7480

7581
; opentelemetry-instrumentation-falcon
7682
; py310 does not work with falcon 1
@@ -258,17 +264,6 @@ deps =
258264
django-2: django~=2.0
259265
django-3: django~=3.0
260266
django-4: django>=4.0b1,<5.0
261-
elasticsearch-2: elasticsearch-dsl>=2.0,<3.0
262-
elasticsearch-2: elasticsearch>=2.0,<3.0
263-
elasticsearch-5: elasticsearch-dsl>=5.0,<6.0
264-
elasticsearch-5: elasticsearch>=5.0,<6.0
265-
elasticsearch-6: elasticsearch-dsl>=6.0,<7.0
266-
elasticsearch-6: elasticsearch>=6.0,<7.0
267-
; FIXME: Elasticsearch >=7 causes CI workflow tests to hang, see open-telemetry/opentelemetry-python-contrib#620
268-
; elasticsearch-7: elasticsearch-dsl>=7.0,<8.0
269-
; elasticsearch-7: elasticsearch>=7.0,<8.0
270-
; elasticsearch-8: elasticsearch-dsl>=8.0,<9.0
271-
; elasticsearch-8: elasticsearch>=8.0,<9.0
272267
falcon-1: falcon ==1.4.1
273268
falcon-2: falcon >=2.0.0,<3.0.0
274269
falcon-3: falcon >=3.0.0,<4.0.0
@@ -308,64 +303,6 @@ setenv =
308303
CORE_REPO_SHA={env:CORE_REPO_SHA:main}
309304
CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA}
310305

311-
changedir =
312-
test-distro: opentelemetry-distro/tests
313-
test-opentelemetry-instrumentation: opentelemetry-instrumentation/tests
314-
test-instrumentation-aiohttp-client: instrumentation/opentelemetry-instrumentation-aiohttp-client/tests
315-
test-instrumentation-aiohttp-server: instrumentation/opentelemetry-instrumentation-aiohttp-server/tests
316-
test-instrumentation-aiopg: instrumentation/opentelemetry-instrumentation-aiopg/tests
317-
test-instrumentation-asgi: instrumentation/opentelemetry-instrumentation-asgi/tests
318-
test-instrumentation-asyncpg: instrumentation/opentelemetry-instrumentation-asyncpg/tests
319-
test-instrumentation-aws-lambda: instrumentation/opentelemetry-instrumentation-aws-lambda/tests
320-
test-instrumentation-boto: instrumentation/opentelemetry-instrumentation-boto/tests
321-
test-instrumentation-botocore: instrumentation/opentelemetry-instrumentation-botocore/tests
322-
test-instrumentation-boto3sqs: instrumentation/opentelemetry-instrumentation-boto3sqs/tests
323-
test-instrumentation-cassandra: instrumentation/opentelemetry-instrumentation-cassandra/tests
324-
test-instrumentation-celery: instrumentation/opentelemetry-instrumentation-celery/tests
325-
test-instrumentation-dbapi: instrumentation/opentelemetry-instrumentation-dbapi/tests
326-
test-instrumentation-django-{1,2,3,4}: instrumentation/opentelemetry-instrumentation-django/tests
327-
test-instrumentation-elasticsearch-{2,5,6}: instrumentation/opentelemetry-instrumentation-elasticsearch/tests
328-
test-instrumentation-falcon-{1,2,3}: instrumentation/opentelemetry-instrumentation-falcon/tests
329-
test-instrumentation-fastapi: instrumentation/opentelemetry-instrumentation-fastapi/tests
330-
test-instrumentation-flask-{213,220,300}: instrumentation/opentelemetry-instrumentation-flask/tests
331-
test-instrumentation-urllib: instrumentation/opentelemetry-instrumentation-urllib/tests
332-
test-instrumentation-urllib3v-{1,2}: instrumentation/opentelemetry-instrumentation-urllib3/tests
333-
test-instrumentation-grpc: instrumentation/opentelemetry-instrumentation-grpc/tests
334-
test-instrumentation-jinja2: instrumentation/opentelemetry-instrumentation-jinja2/tests
335-
test-instrumentation-kafka-python: instrumentation/opentelemetry-instrumentation-kafka-python/tests
336-
test-instrumentation-confluent-kafka: instrumentation/opentelemetry-instrumentation-confluent-kafka/tests
337-
test-instrumentation-logging: instrumentation/opentelemetry-instrumentation-logging/tests
338-
test-instrumentation-mysql: instrumentation/opentelemetry-instrumentation-mysql/tests
339-
test-instrumentation-mysqlclient: instrumentation/opentelemetry-instrumentation-mysqlclient/tests
340-
test-instrumentation-sio-pika-{0,1}: instrumentation/opentelemetry-instrumentation-pika/tests
341-
test-instrumentation-aio-pika-{8,9}: instrumentation/opentelemetry-instrumentation-aio-pika/tests
342-
test-instrumentation-psycopg: instrumentation/opentelemetry-instrumentation-psycopg/tests
343-
test-instrumentation-psycopg2: instrumentation/opentelemetry-instrumentation-psycopg2/tests
344-
test-instrumentation-pymemcache-{135,200,300,342,400}: instrumentation/opentelemetry-instrumentation-pymemcache/tests
345-
test-instrumentation-pymongo: instrumentation/opentelemetry-instrumentation-pymongo/tests
346-
test-instrumentation-pymysql: instrumentation/opentelemetry-instrumentation-pymysql/tests
347-
test-instrumentation-pyramid: instrumentation/opentelemetry-instrumentation-pyramid/tests
348-
test-instrumentation-redis: instrumentation/opentelemetry-instrumentation-redis/tests
349-
test-instrumentation-remoulade: instrumentation/opentelemetry-instrumentation-remoulade/tests
350-
test-instrumentation-requests: instrumentation/opentelemetry-instrumentation-requests/tests
351-
test-instrumentation-sklearn: instrumentation/opentelemetry-instrumentation-sklearn/tests
352-
test-instrumentation-sqlalchemy-{11,14}: instrumentation/opentelemetry-instrumentation-sqlalchemy/tests
353-
test-instrumentation-sqlite3: instrumentation/opentelemetry-instrumentation-sqlite3/tests
354-
test-instrumentation-starlette: instrumentation/opentelemetry-instrumentation-starlette/tests
355-
test-instrumentation-system-metrics: instrumentation/opentelemetry-instrumentation-system-metrics/tests
356-
test-instrumentation-tornado: instrumentation/opentelemetry-instrumentation-tornado/tests
357-
test-instrumentation-tortoiseorm: instrumentation/opentelemetry-instrumentation-tortoiseorm/tests
358-
test-instrumentation-wsgi: instrumentation/opentelemetry-instrumentation-wsgi/tests
359-
test-instrumentation-httpx-{18,21}: instrumentation/opentelemetry-instrumentation-httpx/tests
360-
test-instrumentation-asyncio: instrumentation/opentelemetry-instrumentation-asyncio/tests
361-
test-util-http: util/opentelemetry-util-http/tests
362-
test-sdkextension-aws: sdk-extension/opentelemetry-sdk-extension-aws/tests
363-
test-resource-detector-container: resource/opentelemetry-resource-detector-container/tests
364-
test-propagator-aws: propagator/opentelemetry-propagator-aws-xray/tests
365-
test-propagator-ot-trace: propagator/opentelemetry-propagator-ot-trace/tests
366-
test-exporter-richconsole: exporter/opentelemetry-exporter-richconsole/tests
367-
test-exporter-prometheus-remote-write: exporter/opentelemetry-exporter-prometheus-remote-write/tests
368-
369306
commands_pre =
370307
; Install without -e to test the actual installation
371308
py3{8,9,10,11}: python -m pip install -U pip setuptools wheel
@@ -474,7 +411,9 @@ commands_pre =
474411

475412
sqlalchemy-{11,14}: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy[test]
476413

477-
elasticsearch-{2,5,6}: pip install {toxinidir}/opentelemetry-instrumentation[test] {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch[test]
414+
elasticsearch-0: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt
415+
elasticsearch-1: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
416+
elasticsearch-2: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
478417

479418
asyncio: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio[test]
480419

@@ -494,7 +433,62 @@ commands_pre =
494433
coverage: python {toxinidir}/scripts/eachdist.py install --editable
495434

496435
commands =
497-
test: pytest {posargs}
436+
test-distro: pytest {toxinidir}/opentelemetry-distro/tests {posargs}
437+
test-opentelemetry-instrumentation: pytest {toxinidir}/opentelemetry-instrumentation/tests {posargs}
438+
test-instrumentation-aiohttp-client: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests {posargs}
439+
test-instrumentation-aiohttp-server: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/tests {posargs}
440+
test-instrumentation-aiopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/tests {posargs}
441+
test-instrumentation-asgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/tests {posargs}
442+
test-instrumentation-asyncpg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/tests {posargs}
443+
test-instrumentation-aws-lambda: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/tests {posargs}
444+
test-instrumentation-boto: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/tests {posargs}
445+
test-instrumentation-botocore: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/tests {posargs}
446+
test-instrumentation-boto3sqs: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/tests {posargs}
447+
test-instrumentation-cassandra: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/tests {posargs}
448+
test-instrumentation-celery: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/tests {posargs}
449+
test-instrumentation-dbapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/tests {posargs}
450+
test-instrumentation-django-{1,2,3,4}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-django/tests {posargs}
451+
test-instrumentation-elasticsearch-{2,5,6}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/tests {posargs}
452+
test-instrumentation-falcon-{1,2,3}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/tests {posargs}
453+
test-instrumentation-fastapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/tests {posargs}
454+
test-instrumentation-flask-{213,220,300}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/tests {posargs}
455+
test-instrumentation-urllib: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/tests {posargs}
456+
test-instrumentation-urllib3v-{1,2}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/tests {posargs}
457+
test-instrumentation-grpc: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/tests {posargs}
458+
test-instrumentation-jinja2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/tests {posargs}
459+
test-instrumentation-kafka-python: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs}
460+
test-instrumentation-confluent-kafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/tests {posargs}
461+
test-instrumentation-logging: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/tests {posargs}
462+
test-instrumentation-mysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/tests {posargs}
463+
test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs}
464+
test-instrumentation-sio-pika-{0,1}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs}
465+
test-instrumentation-aio-pika-{8,9}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/tests {posargs}
466+
test-instrumentation-psycopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/tests {posargs}
467+
test-instrumentation-psycopg2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs}
468+
test-instrumentation-pymemcache-{135,200,300,342,400}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/tests {posargs}
469+
test-instrumentation-pymongo: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/tests {posargs}
470+
test-instrumentation-pymysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/tests {posargs}
471+
test-instrumentation-pyramid: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/tests {posargs}
472+
test-instrumentation-redis: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/tests {posargs}
473+
test-instrumentation-remoulade: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/tests {posargs}
474+
test-instrumentation-requests: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/tests {posargs}
475+
test-instrumentation-sklearn: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sklearn/tests {posargs}
476+
test-instrumentation-sqlalchemy-{11,14}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/tests {posargs}
477+
test-instrumentation-sqlite3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/tests {posargs}
478+
test-instrumentation-starlette: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/tests {posargs}
479+
test-instrumentation-system-metrics: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/tests {posargs}
480+
test-instrumentation-tornado: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/tests {posargs}
481+
test-instrumentation-tortoiseorm: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/tests {posargs}
482+
test-instrumentation-wsgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/tests {posargs}
483+
test-instrumentation-httpx-{18,21}: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/tests {posargs}
484+
test-instrumentation-asyncio: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/tests {posargs}
485+
test-util-http: pytest {toxinidir}/util/opentelemetry-util-http/tests {posargs}
486+
test-sdkextension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/tests {posargs}
487+
test-resource-detector-container: pytest {toxinidir}/resource/opentelemetry-resource-detector-container/tests {posargs}
488+
test-propagator-aws: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/tests {posargs}
489+
test-propagator-ot-trace: pytest {toxinidir}/propagator/opentelemetry-propagator-ot-trace/tests {posargs}
490+
test-exporter-richconsole: pytest {toxinidir}/exporter/opentelemetry-exporter-richconsole/tests {posargs}
491+
test-exporter-prometheus-remote-write: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/tests {posargs}
498492
coverage: {toxinidir}/scripts/coverage.sh
499493

500494
[testenv:docs]
@@ -577,7 +571,7 @@ commands_pre =
577571
# for your OS to install the required dependencies
578572
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient[test]
579573
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo[test]
580-
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch[test]
574+
pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt
581575
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg[test]
582576
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado[test]
583577
python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm[test]

0 commit comments

Comments
 (0)