From b84c3fd02d09a37827fdce4cf0aac96a23dc627b Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Mon, 20 Jul 2026 11:51:10 +0300 Subject: [PATCH] gh-154226: Fix test_posix_pty_functions on Solaris (GH-154230) (cherry picked from commit 3d998611a48b45691894c687ac0ec52b54df52bf) Co-authored-by: Serhiy Storchaka Co-Authored-By: Claude Fable 5 --- Lib/test/test_os.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 8e6cc8f056f128..48b925ad9b2244 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -4954,6 +4954,13 @@ def test_posix_pty_functions(self): son_path = os.ptsname(mother_fd) son_fd = os.open(son_path, os.O_RDWR|os.O_NOCTTY) self.addCleanup(os.close, son_fd) + if sys.platform.startswith('sunos'): + # The slave is not a terminal until these STREAMS modules + # are pushed onto it. + import fcntl + I_PUSH = 0x5302 + fcntl.ioctl(son_fd, I_PUSH, b'ptem\0') + fcntl.ioctl(son_fd, I_PUSH, b'ldterm\0') self.assertEqual(os.ptsname(mother_fd), os.ttyname(son_fd)) @unittest.skipUnless(hasattr(os, 'spawnl'), "need os.spawnl()")