diff options
author | Pablo Galindo <Pablogsal@gmail.com> | 2018-09-27 09:25:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-27 09:25:03 (GMT) |
commit | 7291108d88ea31d205da4db19d202d6cbffc6d93 (patch) | |
tree | 0b655cd9fd591badf9c68c2417ae2850049a30b4 | |
parent | f55c64c632af438d0daa043acdd95a5e74f31441 (diff) | |
download | cpython-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.py | 5 |
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 |