summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_select.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_select.py')
-rw-r--r--Lib/test/test_select.py31
1 files changed, 15 insertions, 16 deletions
diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py
index a973f3f..458998a 100644
--- a/Lib/test/test_select.py
+++ b/Lib/test/test_select.py
@@ -46,24 +46,23 @@ class SelectTestCase(unittest.TestCase):
def test_select(self):
cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
- p = os.popen(cmd, 'r')
- for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
- if support.verbose:
- print('timeout =', tout)
- rfd, wfd, xfd = select.select([p], [], [], tout)
- if (rfd, wfd, xfd) == ([], [], []):
- continue
- if (rfd, wfd, xfd) == ([p], [], []):
- line = p.readline()
+ with os.popen(cmd) as p:
+ for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
if support.verbose:
- print(repr(line))
- if not line:
+ print('timeout =', tout)
+ rfd, wfd, xfd = select.select([p], [], [], tout)
+ if (rfd, wfd, xfd) == ([], [], []):
+ continue
+ if (rfd, wfd, xfd) == ([p], [], []):
+ line = p.readline()
if support.verbose:
- print('EOF')
- break
- continue
- self.fail('Unexpected return values from select():', rfd, wfd, xfd)
- p.close()
+ print(repr(line))
+ if not line:
+ if support.verbose:
+ print('EOF')
+ break
+ continue
+ self.fail('Unexpected return values from select():', rfd, wfd, xfd)
# Issue 16230: Crash on select resized list
def test_select_mutated(self):