From 0e547b66dc206e46b69b91790aa73010290f4fcb Mon Sep 17 00:00:00 2001 From: Richard Oudkerk Date: Mon, 10 Jun 2013 16:29:19 +0100 Subject: Issue #18174: Fix fd leaks in tests. --- Lib/test/test_openpty.py | 2 ++ Lib/test/test_subprocess.py | 3 ++- Lib/test/test_uuid.py | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_openpty.py b/Lib/test/test_openpty.py index e8175ff..6384370 100644 --- a/Lib/test/test_openpty.py +++ b/Lib/test/test_openpty.py @@ -10,6 +10,8 @@ if not hasattr(os, "openpty"): class OpenptyTest(unittest.TestCase): def test(self): master, slave = os.openpty() + self.addCleanup(os.close, master) + self.addCleanup(os.close, slave) if not os.isatty(slave): self.fail("Slave-end of pty is not a terminal.") diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 901d4df..4b90471 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -1263,7 +1263,8 @@ class POSIXProcessTestCase(BaseTestCase): self.stderr.fileno()), msg="At least one fd was closed early.") finally: - map(os.close, devzero_fds) + for fd in devzero_fds: + os.close(fd) @unittest.skipIf(not os.path.exists("/dev/zero"), "/dev/zero required.") def test_preexec_errpipe_does_not_double_close_pipes(self): diff --git a/Lib/test/test_uuid.py b/Lib/test/test_uuid.py index 016100d..97ad6d0 100644 --- a/Lib/test/test_uuid.py +++ b/Lib/test/test_uuid.py @@ -458,6 +458,7 @@ class TestUUID(unittest.TestCase): else: os.close(fds[1]) + self.addCleanup(os.close, fds[0]) parent_value = uuid.uuid4().hex os.waitpid(pid, 0) child_value = os.read(fds[0], 100).decode('latin-1') -- cgit v0.12