Clear exception traceback after each test

This commit is contained in:
Erik
2025-05-05 12:24:05 +02:00
parent a4bd6754df
commit 3b86a1a2b6

View File

@@ -352,6 +352,21 @@ def caplog_fixture(caplog: pytest.LogCaptureFixture) -> pytest.LogCaptureFixture
return caplog 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") @pytest.fixture(autouse=True, scope="module")
def garbage_collection() -> None: def garbage_collection() -> None:
"""Run garbage collection at known locations. """Run garbage collection at known locations.