https://github.com/python/cpython/commit/abc3aeebdbae560476f2f8c0312e9a4bf0dbfd33
commit: abc3aeebdbae560476f2f8c0312e9a4bf0dbfd33
branch: main
author: Sam Gross <[email protected]>
committer: pablogsal <[email protected]>
date: 2024-07-13T15:54:28+02:00
summary:
gh-121605: Increase timeout in test_pyrepl.run_repl (#121606)
We also need to close the `slave_fd` earlier so that reading from
`master_fd` won't block forever when the subprocess finishes.
files:
M Lib/test/test_pyrepl/test_pyrepl.py
diff --git a/Lib/test/test_pyrepl/test_pyrepl.py
b/Lib/test/test_pyrepl/test_pyrepl.py
index 43206103645bc1..8fff372da97a6a 100644
--- a/Lib/test/test_pyrepl/test_pyrepl.py
+++ b/Lib/test/test_pyrepl/test_pyrepl.py
@@ -981,20 +981,23 @@ def run_repl(self, repl_input: str | list[str], env: dict
| None = None) -> tupl
text=True,
close_fds=True,
env=env if env else os.environ,
- )
+ )
+ os.close(slave_fd)
if isinstance(repl_input, list):
repl_input = "\n".join(repl_input) + "\n"
os.write(master_fd, repl_input.encode("utf-8"))
output = []
- while select.select([master_fd], [], [], 0.5)[0]:
- data = os.read(master_fd, 1024).decode("utf-8")
- if not data:
+ while select.select([master_fd], [], [], SHORT_TIMEOUT)[0]:
+ try:
+ data = os.read(master_fd, 1024).decode("utf-8")
+ if not data:
+ break
+ except OSError:
break
output.append(data)
os.close(master_fd)
- os.close(slave_fd)
try:
exit_code = process.wait(timeout=SHORT_TIMEOUT)
except subprocess.TimeoutExpired:
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]