summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2018-09-27 09:25:03 (GMT)
committerGitHub <noreply@github.com>2018-09-27 09:25:03 (GMT)
commit7291108d88ea31d205da4db19d202d6cbffc6d93 (patch)
tree0b655cd9fd591badf9c68c2417ae2850049a30b4
parentf55c64c632af438d0daa043acdd95a5e74f31441 (diff)
downloadcpython-7291108d88ea31d205da4db19d202d6cbffc6d93.zip
cpython-7291108d88ea31d205da4db19d202d6cbffc6d93.tar.gz
cpython-7291108d88ea31d205da4db19d202d6cbffc6d93.tar.bz2
Fix tests in test_socket to use correctly CMSG_LEN (GH-9594)
After some failures in AMD64 FreeBSD CURRENT Debug 3.x buildbots regarding tests in test_socket that are using testFDPassSeparateMinSpace(), FreeBDS revision 337423 was pointed out to be the reason the test started to fail. A close examination of the manpage for cmsg_space(3) reveals that the number of file descriptors needs to be taken into account when using CMSG_LEN(). This commit fixes tests in test_socket to use correctly CMSG_LEN, taking into account the number of FDs.
-rw-r--r--Lib/test/test_socket.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index bbbf27b..663a018 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -3223,10 +3223,11 @@ class SCMRightsTest(SendrecvmsgServerTimeoutBase):
def testFDPassSeparateMinSpace(self):
# Pass two FDs in two separate arrays, receiving them into the
# minimum space for two arrays.
- self.checkRecvmsgFDs(2,
+ num_fds = 2
+ self.checkRecvmsgFDs(num_fds,
self.doRecvmsg(self.serv_sock, len(MSG),
socket.CMSG_SPACE(SIZEOF_INT) +
- socket.CMSG_LEN(SIZEOF_INT)),
+ socket.CMSG_LEN(SIZEOF_INT * num_fds)),
maxcmsgs=2, ignoreflags=socket.MSG_CTRUNC)
@testFDPassSeparateMinSpace.client_skip