https://github.com/python/cpython/commit/ff358616ddb5da18c79ceffabb55c3806a345383
commit: ff358616ddb5da18c79ceffabb55c3806a345383
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: lysnikolaou <[email protected]>
date: 2024-06-12T21:58:29+02:00
summary:

[3.13] gh-118908: Protect the REPL subprocess with a timeout in tests 
(GH-120408) (#120430)

(cherry picked from commit 3453362183f083e37ea866a7ae1b34147ffaf81d)

Co-authored-by: Pablo Galindo Salgado <[email protected]>

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 3167b8473bfe20..41ba5959a1ec34 100644
--- a/Lib/test/test_pyrepl/test_pyrepl.py
+++ b/Lib/test/test_pyrepl/test_pyrepl.py
@@ -8,6 +8,7 @@
 from unittest import TestCase, skipUnless
 from unittest.mock import patch
 from test.support import force_not_colorized
+from test.support import SHORT_TIMEOUT
 
 from .support import (
     FakeConsole,
@@ -885,5 +886,9 @@ def run_repl(self, repl_input: str | list[str], env: dict | 
None = None) -> tupl
 
         os.close(master_fd)
         os.close(slave_fd)
-        exit_code = process.wait()
+        try:
+            exit_code = process.wait(timeout=SHORT_TIMEOUT)
+        except subprocess.TimeoutExpired:
+            process.kill()
+            exit_code = process.returncode
         return "\n".join(output), exit_code

_______________________________________________
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]

Reply via email to