def template_UpdateAck(self, ack, ackbits, update, expected_ack, expected_ackbits): s= UDPSocket() s.ack = ack s.ackbits = ackbits s.UpdateAck(update) self.assertTrue(s.ack == expected_ack) self.assertTrue(s.ackbits == expected_ackbits)
def template_SendAndRecv(self, seq, ack, ackbits, payload, expected_ack, expected_ackbits): s = UDPSocket() t = UDPSocket() s.Open() t.Open() s_addr = ('127.0.0.1', 5555) t_addr = ('127.0.0.1', 2056) s.Bind(s_addr) t.Bind(t_addr) s.sock.connect(t_addr) t.sock.connect(s_addr) s.seq = seq t.ack = ack t.ackbits = ackbits status = 0 try: s.Send(payload) for i in range(0, 1000): d = t.Recv() if d != None: break except Exception as ex: logger.exception(ex) status = 1 s.Close() t.Close() self.assertTrue(status == 0) self.assertTrue(s.seq == seq + 1) self.assertTrue(d != None) self.assertTrue(d.seq == seq) self.assertTrue(d.ackbits == ackbits) self.assertTrue(d.payload == payload) self.assertTrue(t.ack == expected_ack) self.assertTrue(t.ackbits == expected_ackbits, 'got {0} expected {1}'.format(t.ackbits, expected_ackbits))