From 879b7d3fbf8b1b214dbf844f0e6a58d018415da7 Mon Sep 17 00:00:00 2001 From: alt-glitch Date: Sun, 15 Mar 2026 02:48:05 +0530 Subject: [PATCH] fix(tests): update mock stdout in env blocklist tests The fake_popen mock used iter([]) for proc.stdout which doesn't support .close(). Use MagicMock with __iter__ instead, since _drain_stdout now calls proc.stdout.close() in its finally block. Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/tools/test_local_env_blocklist.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/tools/test_local_env_blocklist.py b/tests/tools/test_local_env_blocklist.py index 70a8ae5d11..fdb68f002b 100644 --- a/tests/tools/test_local_env_blocklist.py +++ b/tests/tools/test_local_env_blocklist.py @@ -25,8 +25,7 @@ def _make_fake_popen(captured: dict): proc = MagicMock() proc.poll.return_value = 0 proc.returncode = 0 - proc.stdout = iter([]) - proc.stdout.close = lambda: None + proc.stdout = MagicMock(__iter__=lambda s: iter([]), __next__=lambda s: (_ for _ in ()).throw(StopIteration)) proc.stdin = MagicMock() return proc return fake_popen