MCPcopy Index your code
hub / github.com/RustPython/RustPython / checkHopLimit

Method checkHopLimit

Lib/test/test_socket.py:4343–4369  ·  view source on GitHub ↗
(self, ancbufsize, maxhop=255, ignoreflags=0)

Source from the content-addressed store, hash-verified

4341 return d
4342
4343 def checkHopLimit(self, ancbufsize, maxhop=255, ignoreflags=0):
4344 # Receive hop limit into ancbufsize bytes of ancillary data
4345 # space. Check that data is MSG, ancillary data is not
4346 # truncated (but ignore any flags in ignoreflags), and hop
4347 # limit is between 0 and maxhop inclusive.
4348 self.serv_sock.setsockopt(socket.IPPROTO_IPV6,
4349 socket.IPV6_RECVHOPLIMIT, 1)
4350 self.misc_event.set()
4351 msg, ancdata, flags, addr = self.doRecvmsg(self.serv_sock,
4352 len(MSG), ancbufsize)
4353
4354 self.assertEqual(msg, MSG)
4355 self.checkRecvmsgAddress(addr, self.cli_addr)
4356 self.checkFlags(flags, eor=True, checkunset=socket.MSG_CTRUNC,
4357 ignore=ignoreflags)
4358
4359 self.assertEqual(len(ancdata), 1)
4360 self.assertIsInstance(ancdata[0], tuple)
4361 cmsg_level, cmsg_type, cmsg_data = ancdata[0]
4362 self.assertEqual(cmsg_level, socket.IPPROTO_IPV6)
4363 self.assertEqual(cmsg_type, socket.IPV6_HOPLIMIT)
4364 self.assertIsInstance(cmsg_data, bytes)
4365 self.assertEqual(len(cmsg_data), SIZEOF_INT)
4366 a = array.array("i")
4367 a.frombytes(cmsg_data)
4368 self.assertGreaterEqual(a[0], 0)
4369 self.assertLessEqual(a[0], maxhop)
4370
4371 @requireAttrs(socket, "IPV6_RECVHOPLIMIT", "IPV6_HOPLIMIT")
4372 def testRecvHopLimit(self):

Callers 3

testRecvHopLimitMethod · 0.95
testSetHopLimitMethod · 0.95

Calls 11

lenFunction · 0.85
checkFlagsMethod · 0.80
assertIsInstanceMethod · 0.80
frombytesMethod · 0.80
assertGreaterEqualMethod · 0.80
assertLessEqualMethod · 0.80
setsockoptMethod · 0.45
setMethod · 0.45
doRecvmsgMethod · 0.45
assertEqualMethod · 0.45
checkRecvmsgAddressMethod · 0.45

Tested by

no test coverage detected