File tree Expand file tree Collapse file tree 3 files changed +14
-3
lines changed
tests/testing/internal/pytest Expand file tree Collapse file tree 3 files changed +14
-3
lines changed Original file line number Diff line number Diff line change 3939from ddtrace .testing .internal .tracer_api .coverage import get_coverage_percentage
4040from ddtrace .testing .internal .tracer_api .coverage import install_coverage
4141from ddtrace .testing .internal .tracer_api .coverage import install_coverage_percentage
42+ from ddtrace .testing .internal .tracer_api .coverage import uninstall_coverage_percentage
4243import ddtrace .testing .internal .tracer_api .pytest_hooks
4344from ddtrace .testing .internal .utils import TestContext
4445from ddtrace .testing .internal .utils import asbool
@@ -170,6 +171,7 @@ def pytest_sessionfinish(self, session: pytest.Session) -> None:
170171 coverage_percentage = get_coverage_percentage (_is_pytest_cov_enabled (session .config ))
171172 if coverage_percentage is not None :
172173 self .session .metrics [TestTag .CODE_COVERAGE_LINES_PCT ] = coverage_percentage
174+ uninstall_coverage_percentage ()
173175
174176 self .session .finish ()
175177
Original file line number Diff line number Diff line change 1313from ddtrace .contrib .internal .coverage .constants import PCT_COVERED_KEY
1414from ddtrace .contrib .internal .coverage .data import _coverage_data
1515from ddtrace .contrib .internal .coverage .patch import patch as patch_coverage
16+ from ddtrace .contrib .internal .coverage .patch import unpatch as unpatch_coverage
1617from ddtrace .contrib .internal .coverage .patch import run_coverage_report
1718from ddtrace .contrib .internal .coverage .utils import _is_coverage_invoked_by_coverage_run
1819from ddtrace .contrib .internal .coverage .utils import _is_coverage_patched
@@ -62,6 +63,13 @@ def install_coverage_percentage():
6263 patch_coverage ()
6364
6465
66+ def uninstall_coverage_percentage ():
67+ """
68+ Undo patching of coverage.py.
69+ """
70+ unpatch_coverage ()
71+
72+
6573def get_coverage_percentage (pytest_cov_status : bool ) -> t .Optional [float ]:
6674 """
6775 Retrieve coverage percentage collected during a pytest-cov test session, if available.
Original file line number Diff line number Diff line change 66
77import os
88import typing as t
9+ from unittest .mock import MagicMock
910from unittest .mock import Mock
1011from unittest .mock import patch
1112
@@ -638,7 +639,7 @@ def test_pytest_sessionfinish_normal_completion(self) -> None:
638639 plugin = TestOptPlugin (session_manager = mock_manager )
639640
640641 # Set up session and manager
641- plugin .session = Mock ()
642+ plugin .session = MagicMock ()
642643 plugin .manager = Mock ()
643644 plugin .is_xdist_worker = False
644645
@@ -661,7 +662,7 @@ def test_pytest_sessionfinish_test_failure(self) -> None:
661662 plugin = TestOptPlugin (session_manager = mock_manager )
662663
663664 # Set up session and manager
664- plugin .session = Mock ()
665+ plugin .session = MagicMock ()
665666 plugin .manager = Mock ()
666667 plugin .is_xdist_worker = False
667668
@@ -681,7 +682,7 @@ def test_pytest_sessionfinish_xdist_worker(self) -> None:
681682 plugin = TestOptPlugin (session_manager = mock_manager )
682683
683684 # Set up session and manager
684- plugin .session = Mock ()
685+ plugin .session = MagicMock ()
685686 plugin .manager = Mock ()
686687 plugin .is_xdist_worker = True # Worker mode
687688
You can’t perform that action at this time.
0 commit comments