From a09e215abf3c80a3c99c86b4482b512b42aad072 Mon Sep 17 00:00:00 2001 From: Sam Gross Date: Sat, 20 Jul 2024 10:04:14 -0400 Subject: gh-121988: Fix test hang when pyrepl is not available (#121990) Also explicitly fail the test if we timeout while waiting for output so that this failure mode is caught earlier. --- Lib/test/test_pyrepl/test_pyrepl.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py index e6fcb69..e3feeeb 100644 --- a/Lib/test/test_pyrepl/test_pyrepl.py +++ b/Lib/test/test_pyrepl/test_pyrepl.py @@ -964,7 +964,7 @@ class TestMain(TestCase): mod.write_text("FOO = 42", encoding="utf-8") commands = [ "print(f'{" + var + "=}')" for var in expectations - ] + ["exit"] + ] + ["exit()"] if as_file and as_module: self.fail("as_file and as_module are mutually exclusive") elif as_file: @@ -1115,6 +1115,10 @@ class TestMain(TestCase): except OSError: break output.append(data) + else: + os.close(master_fd) + process.kill() + self.fail(f"Timeout while waiting for output, got: {''.join(output)}") os.close(master_fd) try: -- cgit v0.12