From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 20 Jul 2026 18:25:13 +0000 (+0200) Subject: [3.15] gh-125860: Skip separate-SCM_RIGHTS socket tests on NetBSD, OpenBSD and Dragon... X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=1be67706eb07993a877b1d55df7ab1b542db3f6f;p=thirdparty%2FPython%2Fcpython.git [3.15] gh-125860: Skip separate-SCM_RIGHTS socket tests on NetBSD, OpenBSD and DragonFly (GH-154239) (GH-154245) (cherry picked from commit 9cfa08c80d588931ff4644c885f31598cf2b725f) Co-authored-by: Serhiy Storchaka Co-authored-by: Claude Fable 5 --- diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index ea315fd45e3a..a47924de48c4 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -55,6 +55,10 @@ MSG = 'Michael Gilfix was here\u1234\r\n'.encode('utf-8') VSOCKPORT = 1234 AIX = platform.system() == "AIX" SOLARIS = sys.platform.startswith("sunos") +# NetBSD, OpenBSD and DragonFly deliver the file descriptors from only one +# SCM_RIGHTS control message when several are sent in a single sendmsg(). +BSD_COMBINES_SCM_RIGHTS = sys.platform.startswith( + ("netbsd", "openbsd", "dragonfly")) WSL = "microsoft-standard-WSL" in platform.release() try: @@ -4177,6 +4181,7 @@ class SCMRightsTest(SendrecvmsgServerTimeoutBase): @unittest.skipIf(is_apple, "skipping, see issue #12958") @unittest.skipIf(SOLARIS, "skipping, see gh-91214") @unittest.skipIf(AIX, "skipping, see issue #22397") + @unittest.skipIf(BSD_COMBINES_SCM_RIGHTS, "skipping, see gh-125860") @requireAttrs(socket, "CMSG_SPACE") def testFDPassSeparate(self): # Pass two FDs in two separate arrays. Arrays may be combined @@ -4189,6 +4194,7 @@ class SCMRightsTest(SendrecvmsgServerTimeoutBase): @unittest.skipIf(is_apple, "skipping, see issue #12958") @unittest.skipIf(SOLARIS, "skipping, see gh-91214") @unittest.skipIf(AIX, "skipping, see issue #22397") + @unittest.skipIf(BSD_COMBINES_SCM_RIGHTS, "skipping, see gh-125860") def _testFDPassSeparate(self): fd0, fd1 = self.newFDs(2) self.assertEqual( @@ -4203,6 +4209,7 @@ class SCMRightsTest(SendrecvmsgServerTimeoutBase): @unittest.skipIf(is_apple, "skipping, see issue #12958") @unittest.skipIf(SOLARIS, "skipping, see gh-91214") @unittest.skipIf(AIX, "skipping, see issue #22397") + @unittest.skipIf(BSD_COMBINES_SCM_RIGHTS, "skipping, see gh-125860") @requireAttrs(socket, "CMSG_SPACE") def testFDPassSeparateMinSpace(self): # Pass two FDs in two separate arrays, receiving them into the @@ -4218,6 +4225,7 @@ class SCMRightsTest(SendrecvmsgServerTimeoutBase): @unittest.skipIf(is_apple, "skipping, see issue #12958") @unittest.skipIf(SOLARIS, "skipping, see gh-91214") @unittest.skipIf(AIX, "skipping, see issue #22397") + @unittest.skipIf(BSD_COMBINES_SCM_RIGHTS, "skipping, see gh-125860") def _testFDPassSeparateMinSpace(self): fd0, fd1 = self.newFDs(2) self.assertEqual(