Skip to content

Commit 9a3078b

Browse files
Add test_unclosed_interpreter_on_fork to cover gh-139759
1 parent 11840ca commit 9a3078b

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

Lib/test/test_interpreters/test_stress.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import os
12
import threading
23
import unittest
34

@@ -83,6 +84,24 @@ def test_create_interpreter_no_memory(self):
8384
_testcapi.set_nomemory(0, 1)
8485
_interpreters.create()
8586

87+
@support.requires_fork()
88+
def test_unclosed_interpreter_on_fork(self):
89+
interp = interpreters.create()
90+
interp.exec("pass")
91+
92+
fds = os.pipe()
93+
pid = os.fork()
94+
95+
if pid == 0:
96+
os.close(fds[0])
97+
os.write(fds[1], b"OK")
98+
os._exit(0)
99+
else:
100+
os.close(fds[1])
101+
self.addCleanup(os.close, fds[0])
102+
value = os.read(fds[0], 100)
103+
self.assertEqual(value, b"OK")
104+
86105

87106
if __name__ == '__main__':
88107
# Test needs to be a package, so we can do relative imports.

0 commit comments

Comments
 (0)