Skip to content

Commit

Permalink
pythongh-118908: Protect the REPL subprocess with a timeout in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pablogsal committed Jun 12, 2024
1 parent 7dd8c37 commit 47e3511
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion Lib/test/test_pyrepl/test_pyrepl.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -885,5 +886,10 @@ 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.terminate()
process.kill()
exit_code = process.returncode
return "\n".join(output), exit_code

0 comments on commit 47e3511

Please sign in to comment.