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

Method testSingleCmsgTruncInData

Lib/test/test_socket.py:4709–4729  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

4707
4708 @requireAttrs(socket, "IPV6_RECVHOPLIMIT", "IPV6_HOPLIMIT")
4709 def testSingleCmsgTruncInData(self):
4710 # Test truncation of a control message inside its associated
4711 # data. The message may be returned with its data truncated,
4712 # or not returned at all.
4713 self.serv_sock.setsockopt(socket.IPPROTO_IPV6,
4714 socket.IPV6_RECVHOPLIMIT, 1)
4715 self.misc_event.set()
4716 with downgrade_malformed_data_warning(): # TODO: gh-110012
4717 msg, ancdata, flags, addr = self.doRecvmsg(
4718 self.serv_sock, len(MSG), socket.CMSG_LEN(SIZEOF_INT) - 1)
4719
4720 self.assertEqual(msg, MSG)
4721 self.checkRecvmsgAddress(addr, self.cli_addr)
4722 self.checkFlags(flags, eor=True, checkset=socket.MSG_CTRUNC)
4723
4724 self.assertLessEqual(len(ancdata), 1)
4725 if ancdata:
4726 cmsg_level, cmsg_type, cmsg_data = ancdata[0]
4727 self.assertEqual(cmsg_level, socket.IPPROTO_IPV6)
4728 self.assertEqual(cmsg_type, socket.IPV6_HOPLIMIT)
4729 self.assertLess(len(cmsg_data), SIZEOF_INT)
4730
4731 @testSingleCmsgTruncInData.client_skip
4732 def _testSingleCmsgTruncInData(self):

Callers

nothing calls this directly

Calls 9

checkFlagsMethod · 0.80
assertLessEqualMethod · 0.80
setsockoptMethod · 0.45
setMethod · 0.45
doRecvmsgMethod · 0.45
assertEqualMethod · 0.45
checkRecvmsgAddressMethod · 0.45
assertLessMethod · 0.45

Tested by

no test coverage detected