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

Method checkTruncatedArray

Lib/test/test_socket.py:4358–4381  ·  view source on GitHub ↗
(self, ancbuf, maxdata, mindata=0)

Source from the content-addressed store, hash-verified

4356 # middle of the FD array.
4357
4358 def checkTruncatedArray(self, ancbuf, maxdata, mindata=0):
4359 # Check that file descriptor data is truncated to between
4360 # mindata and maxdata bytes when received with buffer size
4361 # ancbuf, and that any complete file descriptor numbers are
4362 # valid.
4363 with downgrade_malformed_data_warning(): # TODO: gh-110012
4364 msg, ancdata, flags, addr = self.doRecvmsg(self.serv_sock,
4365 len(MSG), ancbuf)
4366 self.assertEqual(msg, MSG)
4367 self.checkRecvmsgAddress(addr, self.cli_addr)
4368 self.checkFlags(flags, eor=True, checkset=socket.MSG_CTRUNC)
4369
4370 if mindata == 0 and ancdata == []:
4371 return
4372 self.assertEqual(len(ancdata), 1)
4373 cmsg_level, cmsg_type, cmsg_data = ancdata[0]
4374 self.assertEqual(cmsg_level, socket.SOL_SOCKET)
4375 self.assertEqual(cmsg_type, socket.SCM_RIGHTS)
4376 self.assertGreaterEqual(len(cmsg_data), mindata)
4377 self.assertLessEqual(len(cmsg_data), maxdata)
4378 fds = array.array("i")
4379 fds.frombytes(cmsg_data[:
4380 len(cmsg_data) - (len(cmsg_data) % fds.itemsize)])
4381 self.checkFDs(fds)
4382
4383 @skipForRefleakHuntinIf(sys.platform == "darwin", "#80931")
4384 def testCmsgTruncLen0(self):

Callers 4

testCmsgTruncLen0Method · 0.95
testCmsgTruncLen1Method · 0.95

Calls 8

checkFDsMethod · 0.95
checkFlagsMethod · 0.80
assertGreaterEqualMethod · 0.80
assertLessEqualMethod · 0.80
doRecvmsgMethod · 0.45
assertEqualMethod · 0.45
checkRecvmsgAddressMethod · 0.45

Tested by

no test coverage detected