Skip to content

Commit 860aec6

Browse files
committed
Fix leak of file descriptors in test_devpoll
1 parent 426d943 commit 860aec6

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

Lib/test/test_devpoll.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,15 @@ def test_devpoll1(self):
7272

7373
self.assertEqual(bufs, [MSG] * NUM_PIPES)
7474

75+
def create_pipe(self):
76+
w, r = os.pipe()
77+
self.addCleanup(os.close, w)
78+
self.addCleanup(os.close, r)
79+
return (w, r)
80+
7581
def test_timeout_overflow(self):
7682
pollster = select.devpoll()
77-
w, r = os.pipe()
83+
w, r = self.create_pipe()
7884
pollster.register(w)
7985

8086
pollster.poll(-1)
@@ -129,7 +135,7 @@ def test_fd_non_inheritable(self):
129135

130136
def test_events_mask_overflow(self):
131137
pollster = select.devpoll()
132-
w, r = os.pipe()
138+
w, r = self.create_pipe()
133139
pollster.register(w)
134140
# Issue #17919
135141
self.assertRaises(ValueError, pollster.register, 0, -1)
@@ -141,7 +147,7 @@ def test_events_mask_overflow(self):
141147
def test_events_mask_overflow_c_limits(self):
142148
from _testcapi import USHRT_MAX
143149
pollster = select.devpoll()
144-
w, r = os.pipe()
150+
w, r = self.create_pipe()
145151
pollster.register(w)
146152
# Issue #17919
147153
self.assertRaises(OverflowError, pollster.register, 0, USHRT_MAX + 1)

0 commit comments

Comments
 (0)