diff --git a/testing/conftest.py b/testing/conftest.py index 66fbac6..43c0399 100644 --- a/testing/conftest.py +++ b/testing/conftest.py @@ -22,12 +22,16 @@ def _divert_atexit(request, monkeypatch): finalizers = [] - def finish(): - while finalizers: - finalizers.pop()() + def fake_register(func, *args, **kwargs): + finalizers.append((func, args, kwargs)) - monkeypatch.setattr(atexit, "register", finalizers.append) - request.addfinalizer(finish) + monkeypatch.setattr(atexit, "register", fake_register) + + yield + + while finalizers: + func, args, kwargs = finalizers.pop() + func(*args, **kwargs) def pytest_addoption(parser):