expect_packet now raises an exception

This should allow tests to be simpler - no more nested ifs.
pull/1522/merge
Roger A. Light 5 years ago
parent e56b953abd
commit c94e111d73

@ -15,6 +15,10 @@ vg_index = 1
vg_logfiles = [] vg_logfiles = []
class TestError(Exception):
def __init__(self, message="Mismatched packets"):
self.message = message
def start_broker(filename, cmd=None, port=0, use_conf=False, expect_fail=False): def start_broker(filename, cmd=None, port=0, use_conf=False, expect_fail=False):
global vg_index global vg_index
global vg_logfiles global vg_logfiles
@ -83,7 +87,10 @@ def expect_packet(sock, name, expected):
rlen = 1 rlen = 1
packet_recvd = sock.recv(rlen) packet_recvd = sock.recv(rlen)
return packet_matches(name, packet_recvd, expected) if packet_matches(name, packet_recvd, expected):
return True
else:
raise TestError
def packet_matches(name, recvd, expected): def packet_matches(name, recvd, expected):
@ -102,9 +109,9 @@ def packet_matches(name, recvd, expected):
for i in range(0, len(expected)): for i in range(0, len(expected)):
print('%c'%(expected[i]),) print('%c'%(expected[i]),)
return 0 return False
else: else:
return 1 return True
def do_send_receive(sock, send_packet, receive_packet, error_string="send receive error"): def do_send_receive(sock, send_packet, receive_packet, error_string="send receive error"):

Loading…
Cancel
Save