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 = []
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):
global vg_index
global vg_logfiles
@ -34,7 +38,7 @@ def start_broker(filename, cmd=None, port=0, use_conf=False, expect_fail=False):
cmd = ['../../src/mosquitto', '-v', '-c', filename.replace('.py', '.conf')]
elif cmd is not None and port == 0:
port = 1888
if os.environ.get('MOSQ_USE_VALGRIND') is not None:
logfile = filename+'.'+str(vg_index)+'.vglog'
cmd = ['valgrind', '-q', '--trace-children=yes', '--leak-check=full', '--show-leak-kinds=all', '--log-file='+logfile] + cmd
@ -83,7 +87,10 @@ def expect_packet(sock, name, expected):
rlen = 1
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):
@ -102,9 +109,9 @@ def packet_matches(name, recvd, expected):
for i in range(0, len(expected)):
print('%c'%(expected[i]),)
return 0
return False
else:
return 1
return True
def do_send_receive(sock, send_packet, receive_packet, error_string="send receive error"):

Loading…
Cancel
Save