From: Sam Gross Date: Sat, 20 Jul 2024 14:04:14 +0000 (-0400) Subject: gh-121988: Fix test hang when pyrepl is not available (#121990) X-Git-Tag: v3.14.0a1~1046 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a09e215abf3c80a3c99c86b4482b512b42aad072;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py index e6fcb69571c3..e3feeeb76f11 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: