(original) (raw)

changeset: 84080:a7381fe515e8 branch: 2.7 parent: 84074:4d1e4bc6c5b5 user: Richard Oudkerk shibturn@gmail.com date: Mon Jun 10 16:27:45 2013 +0100 files: Lib/test/test_openpty.py Lib/test/test_subprocess.py Lib/test/test_uuid.py description: Issue #18174: Fix fd leaks in tests. diff -r 4d1e4bc6c5b5 -r a7381fe515e8 Lib/test/test_openpty.py --- a/Lib/test/test_openpty.py Mon Jun 10 10:35:36 2013 +0200 +++ b/Lib/test/test_openpty.py Mon Jun 10 16:27:45 2013 +0100 @@ -10,6 +10,8 @@ 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 -r 4d1e4bc6c5b5 -r a7381fe515e8 Lib/test/test_subprocess.py --- a/Lib/test/test_subprocess.py Mon Jun 10 10:35:36 2013 +0200 +++ b/Lib/test/test_subprocess.py Mon Jun 10 16:27:45 2013 +0100 @@ -806,7 +806,8 @@ self._testcase.assertNotIn( fd, (p2cwrite, c2pread, errread)) 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 -r 4d1e4bc6c5b5 -r a7381fe515e8 Lib/test/test_uuid.py --- a/Lib/test/test_uuid.py Mon Jun 10 10:35:36 2013 +0200 +++ b/Lib/test/test_uuid.py Mon Jun 10 16:27:45 2013 +0100 @@ -448,6 +448,7 @@ 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) /shibturn@gmail.com