From 9a3078b825372f1774003c09eccb085cd43cb7a0 Mon Sep 17 00:00:00 2001 From: Aurel Wildfellner <201101774+aurelwildfellner@users.noreply.github.com> Date: Thu, 5 Mar 2026 13:44:17 +0100 Subject: [PATCH] Add test_unclosed_interpreter_on_fork to cover gh-139759 --- Lib/test/test_interpreters/test_stress.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Lib/test/test_interpreters/test_stress.py b/Lib/test/test_interpreters/test_stress.py index 6b40a536bd3c31..4e4e39714d8148 100644 --- a/Lib/test/test_interpreters/test_stress.py +++ b/Lib/test/test_interpreters/test_stress.py @@ -1,3 +1,4 @@ +import os import threading import unittest @@ -83,6 +84,24 @@ def test_create_interpreter_no_memory(self): _testcapi.set_nomemory(0, 1) _interpreters.create() + @support.requires_fork() + def test_unclosed_interpreter_on_fork(self): + interp = interpreters.create() + interp.exec("pass") + + fds = os.pipe() + pid = os.fork() + + if pid == 0: + os.close(fds[0]) + os.write(fds[1], b"OK") + os._exit(0) + else: + os.close(fds[1]) + self.addCleanup(os.close, fds[0]) + value = os.read(fds[0], 100) + self.assertEqual(value, b"OK") + if __name__ == '__main__': # Test needs to be a package, so we can do relative imports.