From 3b86a1a2b6c4105cfaba9d5adf9d9c45012ecbab Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 5 May 2025 12:24:05 +0200 Subject: [PATCH] Clear exception traceback after each test --- tests/conftest.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index cb527637f7e..7752c88911f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -352,6 +352,21 @@ def caplog_fixture(caplog: pytest.LogCaptureFixture) -> pytest.LogCaptureFixture return caplog +@pytest.fixture(autouse=True) +def clear_exception_tracback(request: pytest.FixtureRequest) -> Generator[None]: + """Clear exception traceback after each test.""" + exceptions = [] + for fixture_name in request.fixturenames: + if fixture_name not in ("exception", "side_effect"): + continue + if isinstance(request.getfixturevalue(fixture_name), BaseException): + exceptions.append(request.getfixturevalue(fixture_name)) + + yield + for ex in exceptions: + ex.__traceback__ = None + + @pytest.fixture(autouse=True, scope="module") def garbage_collection() -> None: """Run garbage collection at known locations.