diff --git a/tests/conftest.py b/tests/conftest.py index 8846ece54..72835f6f6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,4 @@ +import gc import json import os import sys @@ -259,3 +260,19 @@ def mock_hydra_conf(mocker): # NOTE: using sentinel here so that any imports from `hydra.conf` # return a mock. sys.modules["hydra.conf"] = mocker.sentinel + + +@pytest.fixture(autouse=True) +def gc_collect_on_dvc_close_on_win_311(mocker): + if sys.version_info < (3, 11) and os.name != "nt": + return + + from dvc.repo import Repo + + close = Repo.close + + def wrapped(repo): + close(repo) + gc.collect() + + mocker.patch("dvc.repo.Repo.close", wrapped)