From ddfa607437f12cbb18ca7172eb685e90fb260a5a Mon Sep 17 00:00:00 2001 From: skshetry <18718008+skshetry@users.noreply.github.com> Date: Mon, 6 Mar 2023 18:06:37 +0545 Subject: [PATCH] tests: don't leak files/descriptors when tests finish (#9119) close open files/descriptors when tests finish --- tests/func/test_lock.py | 3 ++- tests/unit/proc/test_process.py | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/func/test_lock.py b/tests/func/test_lock.py index 669145b30..3c615fdbe 100644 --- a/tests/func/test_lock.py +++ b/tests/func/test_lock.py @@ -15,7 +15,7 @@ def test_with(tmp_dir, dvc, mocker): pass -def test_unlock_lock_failed(tmp_dir, dvc, mocker): +def test_unlock_lock_failed(tmp_dir, dvc, request, mocker): # patching to speedup tests mocker.patch("dvc.lock.DEFAULT_TIMEOUT", 0.01) @@ -28,6 +28,7 @@ def test_unlock_lock_failed(tmp_dir, dvc, mocker): with lock: lock.unlock() lock_ext.lock() # imitate an exernal process had time to lock it + request.addfinalizer(lock_ext.unlock) with pytest.raises(LockError): lock.lock() diff --git a/tests/unit/proc/test_process.py b/tests/unit/proc/test_process.py index a70987d24..7802814aa 100644 --- a/tests/unit/proc/test_process.py +++ b/tests/unit/proc/test_process.py @@ -23,14 +23,17 @@ def mock_popen(mocker): ["/bin/foo", "-o", "option"], ], ) -def test_init_args(tmp_dir, args, mocker): +def test_init_args(tmp_dir, request, args, mocker): expected = ["/bin/foo", "-o", "option"] proc = ManagedProcess(args) + request.addfinalizer(proc._close_fds) assert expected == proc.args -def test_run(tmp_dir, mocker): +def test_run(tmp_dir, request, mocker): proc = ManagedProcess("/bin/foo") + + request.addfinalizer(proc._close_fds) assert proc.pid == TEST_PID with open(proc.info_path, encoding="utf-8") as fobj: