From 556c7355ddf06397f105b283986a7876218d7b26 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 31 Oct 2010 01:35:43 +0000 Subject: [PATCH] use addCleanup --- Lib/test/test_io.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 04b39127797..680e36dc8dd 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -2541,24 +2541,24 @@ class MiscIOTest(unittest.TestCase): def _check_warn_on_dealloc_fd(self, *args, **kwargs): fds = [] - try: - r, w = os.pipe() - fds += r, w - self._check_warn_on_dealloc(r, *args, **kwargs) - # When using closefd=False, there's no warning - r, w = os.pipe() - fds += r, w - with warnings.catch_warnings(record=True) as recorded: - open(r, *args, closefd=False, **kwargs) - support.gc_collect() - self.assertEqual(recorded, []) - finally: + def cleanup_fds(): for fd in fds: try: os.close(fd) except EnvironmentError as e: if e.errno != errno.EBADF: raise + self.addCleanup(cleanup_fds) + r, w = os.pipe() + fds += r, w + self._check_warn_on_dealloc(r, *args, **kwargs) + # When using closefd=False, there's no warning + r, w = os.pipe() + fds += r, w + with warnings.catch_warnings(record=True) as recorded: + open(r, *args, closefd=False, **kwargs) + support.gc_collect() + self.assertEqual(recorded, []) def test_warn_on_dealloc_fd(self): self._check_warn_on_dealloc_fd("rb", buffering=0)