@@ -4,6 +4,11 @@ skip_missing_interpreters = True
4
4
envlist =
5
5
py3{4,5,6,7,8}-test-{api,sdk,example-app,ext-wsgi,ext-http-requests,ext-jaeger,opentracing-shim}
6
6
pypy3-test-{api,sdk,example-app,ext-wsgi,ext-http-requests,ext-jaeger,opentracing-shim}
7
+ py3{4,5,6,7,8}-coverage
8
+
9
+ ; Coverage is temporarily disabled for pypy3 due to the pytest bug.
10
+ ; pypy3-coverage
11
+
7
12
lint
8
13
py37-tracecontext
9
14
py37-{mypy,mypyinstalled}
@@ -15,6 +20,8 @@ python =
15
20
16
21
[testenv]
17
22
deps =
23
+ test: pytest
24
+ coverage: pytest-cov
18
25
mypy,mypyinstalled: mypy~=0.740
19
26
20
27
setenv =
@@ -45,12 +52,24 @@ commands_pre =
45
52
jaeger: pip install {toxinidir}/ext/opentelemetry-ext-jaeger
46
53
opentracing-shim: pip install {toxinidir}/opentelemetry-sdk {toxinidir}/ext/opentelemetry-ext-opentracing-shim
47
54
55
+ ; In order to get a healthy coverage report,
56
+ ; we have to install packages in editable mode.
57
+ coverage: pip install -e {toxinidir}/opentelemetry-api
58
+ coverage: pip install -e {toxinidir}/opentelemetry-sdk
59
+ coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-azure-monitor
60
+ coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-http-requests
61
+ coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-jaeger
62
+ coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-opentracing-shim
63
+ coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-wsgi
64
+ coverage: pip install -e {toxinidir}/examples/opentelemetry-example-app
65
+
48
66
; Using file:// here because otherwise tox invokes just "pip install
49
67
; opentelemetry-api", leading to an error
50
68
mypyinstalled: pip install file://{toxinidir}/opentelemetry-api/
51
69
52
70
commands =
53
- test: python -m unittest discover
71
+ test: pytest
72
+ coverage: {toxinidir}/scripts/coverage.sh
54
73
55
74
mypy: mypy --namespace-packages opentelemetry-api/src/opentelemetry/
56
75
; For test code, we don't want to enforce the full mypy strictness
0 commit comments