MCPcopy Index your code
hub / github.com/python/cpython / checkRecvmsgFDs

Method checkRecvmsgFDs

Lib/test/test_socket.py:4086–4111  ·  view source on GitHub ↗
(self, numfds, result, maxcmsgs=1, ignoreflags=0)

Source from the content-addressed store, hash-verified

4084 len(MSG))
4085
4086 def checkRecvmsgFDs(self, numfds, result, maxcmsgs=1, ignoreflags=0):
4087 # Check that constant MSG was received with numfds file
4088 # descriptors in a maximum of maxcmsgs control messages (which
4089 # must contain only complete integers). By default, check
4090 # that MSG_CTRUNC is unset, but ignore any flags in
4091 # ignoreflags.
4092 msg, ancdata, flags, addr = result
4093 self.assertEqual(msg, MSG)
4094 self.checkRecvmsgAddress(addr, self.cli_addr)
4095 self.checkFlags(flags, eor=True, checkunset=socket.MSG_CTRUNC,
4096 ignore=ignoreflags)
4097
4098 self.assertIsInstance(ancdata, list)
4099 self.assertLessEqual(len(ancdata), maxcmsgs)
4100 fds = array.array("i")
4101 for item in ancdata:
4102 self.assertIsInstance(item, tuple)
4103 cmsg_level, cmsg_type, cmsg_data = item
4104 self.assertEqual(cmsg_level, socket.SOL_SOCKET)
4105 self.assertEqual(cmsg_type, socket.SCM_RIGHTS)
4106 self.assertIsInstance(cmsg_data, bytes)
4107 self.assertEqual(len(cmsg_data) % SIZEOF_INT, 0)
4108 fds.frombytes(cmsg_data)
4109
4110 self.assertEqual(len(fds), numfds)
4111 self.checkFDs(fds)
4112
4113 def testFDPassSimple(self):
4114 # Pass a single FD (array read from bytes object).

Callers 7

testFDPassSimpleMethod · 0.95
testMultipleFDPassMethod · 0.95
testFDPassCMSG_SPACEMethod · 0.95
testFDPassCMSG_LENMethod · 0.95
testFDPassSeparateMethod · 0.95
testFDPassEmptyMethod · 0.95

Calls 6

checkFDsMethod · 0.95
checkFlagsMethod · 0.80
assertIsInstanceMethod · 0.80
assertLessEqualMethod · 0.80
assertEqualMethod · 0.45
checkRecvmsgAddressMethod · 0.45

Tested by

no test coverage detected