(self)
| 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): |
nothing calls this directly
no test coverage detected