Skip to content

Commit 494fd7b

Browse files
committed
Clean up also in test_master_read and test_fork
1 parent b7eb9e8 commit 494fd7b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Lib/test/test_pty.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ def _set_term_winsz(fd, winsz):
9191

9292
# Marginal testing of pty suite. Cannot do extensive 'do or fail' testing
9393
# because pty code is not too portable.
94-
# XXX(nnorwitz): these tests leak fds when there is an error.
9594
class PtyTest(unittest.TestCase):
9695
def setUp(self):
9796
old_alarm = signal.signal(signal.SIGALRM, self.handle_sig)
@@ -227,6 +226,7 @@ def test_openpty(self):
227226
def test_fork(self):
228227
debug("calling pty.fork()")
229228
pid, master_fd = pty.fork()
229+
self.addCleanup(os.close, master_fd)
230230
if pid == pty.CHILD:
231231
# stdout should be connected to a tty.
232232
if not os.isatty(1):
@@ -305,13 +305,14 @@ def test_fork(self):
305305
##else:
306306
## raise TestFailed("Read from master_fd did not raise exception")
307307

308-
os.close(master_fd)
309-
310308
def test_master_read(self):
309+
# XXX(nnorwitz): this test leaks fds when there is an error.
311310
debug("Calling pty.openpty()")
312311
master_fd, slave_fd = pty.openpty()
313312
debug(f"Got master_fd '{master_fd}', slave_fd '{slave_fd}'")
314313

314+
self.addCleanup(os.close, master_fd)
315+
315316
debug("Closing slave_fd")
316317
os.close(slave_fd)
317318

@@ -321,7 +322,6 @@ def test_master_read(self):
321322
except OSError: # Linux
322323
data = b""
323324

324-
os.close(master_fd)
325325
self.assertEqual(data, b"")
326326

327327
class SmallPtyTests(unittest.TestCase):

0 commit comments

Comments
 (0)