1
0
mirror of https://github.com/eclipse/mosquitto.git synced 2025-05-09 01:01:11 +08:00

Simplify "expect_packet" tests.

This commit is contained in:
Roger A. Light 2020-08-12 11:06:09 +01:00
parent ba2c00137d
commit 69f84bbca9
218 changed files with 1209 additions and 898 deletions

View File

@ -31,6 +31,8 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -26,6 +26,8 @@ def do_test(proto_ver):
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -55,6 +55,8 @@ try:
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "key", "value")
disconnect_packet = mosq_test.gen_disconnect(proto_ver=5, reason_code=0, properties=props)
disco_test("disco len>2", disconnect_packet)
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -22,6 +22,8 @@ def do_test(proto_ver):
rc = 0
except socket.error:
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -20,6 +20,8 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -16,6 +16,8 @@ try:
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -22,6 +22,8 @@ def do_test(proto_ver):
# Exception occurs if connack packet returned
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -17,6 +17,8 @@ try:
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -19,6 +19,8 @@ except socket.error as e:
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -17,6 +17,8 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -22,6 +22,8 @@ def do_test(proto_ver):
# Exception occurs if connack packet returned
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -22,6 +22,8 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, b"", port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -31,6 +31,8 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -53,6 +53,8 @@ def do_test(proto_ver):
sock1.close()
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
os.remove(pw_file)

View File

@ -33,6 +33,8 @@ def do_test(proto_ver):
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -29,6 +29,8 @@ def do_test(proto_ver):
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -29,6 +29,8 @@ def do_test(proto_ver):
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -23,6 +23,8 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, b"", port=port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -47,6 +47,8 @@ def do_test(per_listener, proto_ver, clean_start, allow_zero, client_port, expec
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=client_port)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -94,33 +94,35 @@ try:
mosq_test.do_send_receive(sock5, subscribe5_packet, suback5_packet, "suback5")
sock1.send(publish1_packet)
if mosq_test.expect_packet(sock1, "publish1 1", publish1_packet):
if mosq_test.expect_packet(sock2, "publish1 2", publish1_packet):
if mosq_test.expect_packet(sock3, "publish1 3", publish1_packet):
mosq_test.expect_packet(sock1, "publish1 1", publish1_packet)
mosq_test.expect_packet(sock2, "publish1 2", publish1_packet)
mosq_test.expect_packet(sock3, "publish1 3", publish1_packet)
sock1.send(publish2_packet)
if mosq_test.expect_packet(sock1, "publish2 1", publish2_packet):
if mosq_test.expect_packet(sock3, "publish2 3", publish2_packet):
if mosq_test.expect_packet(sock4, "publish2 4", publish2_packet):
sock1.send(publish2_packet)
mosq_test.expect_packet(sock1, "publish2 1", publish2_packet)
mosq_test.expect_packet(sock3, "publish2 3", publish2_packet)
mosq_test.expect_packet(sock4, "publish2 4", publish2_packet)
sock1.send(publish3_packet)
if mosq_test.expect_packet(sock1, "publish3 1", publish3_packet):
if mosq_test.expect_packet(sock3, "publish3 3", publish3_packet):
if mosq_test.expect_packet(sock5, "publish3 5", publish3_packet):
mosq_test.do_send_receive(sock1, unsubscribe1_packet, unsuback1_packet, "unsuback1")
mosq_test.do_send_receive(sock2, unsubscribe2_packet, unsuback2_packet, "unsuback2")
mosq_test.do_send_receive(sock3, unsubscribe3a_packet, unsuback3a_packet, "unsuback3a")
mosq_test.do_send_receive(sock3, unsubscribe3b_packet, unsuback3b_packet, "unsuback3b")
mosq_test.do_send_receive(sock4, unsubscribe4_packet, unsuback4_packet, "unsuback4")
mosq_test.do_send_receive(sock5, unsubscribe5_packet, unsuback5_packet, "unsuback5")
sock1.send(publish3_packet)
mosq_test.expect_packet(sock1, "publish3 1", publish3_packet)
mosq_test.expect_packet(sock3, "publish3 3", publish3_packet)
mosq_test.expect_packet(sock5, "publish3 5", publish3_packet)
mosq_test.do_send_receive(sock1, unsubscribe1_packet, unsuback1_packet, "unsuback1")
mosq_test.do_send_receive(sock2, unsubscribe2_packet, unsuback2_packet, "unsuback2")
mosq_test.do_send_receive(sock3, unsubscribe3a_packet, unsuback3a_packet, "unsuback3a")
mosq_test.do_send_receive(sock3, unsubscribe3b_packet, unsuback3b_packet, "unsuback3b")
mosq_test.do_send_receive(sock4, unsubscribe4_packet, unsuback4_packet, "unsuback4")
mosq_test.do_send_receive(sock5, unsubscribe5_packet, unsuback5_packet, "unsuback5")
rc = 0
rc = 0
sock1.close()
sock2.close()
sock3.close()
sock4.close()
sock5.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -46,6 +46,8 @@ try:
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -31,6 +31,8 @@ def do_test(topic, succeeds):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -43,6 +43,8 @@ def do_test():
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -53,19 +53,21 @@ def do_test():
# Expect a message after this, because it is the first subscribe
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback2")
if mosq_test.expect_packet(sock, "publish2r1", publish2r1_packet):
# Don't expect a message after this, it is the second subscribe
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback2")
mosq_test.expect_packet(sock, "publish2r1", publish2r1_packet)
# Don't expect a message after this, it is the second subscribe
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback2")
# Always expect a message after this
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
if mosq_test.expect_packet(sock, "publish1r1", publish1r1_packet):
# Always expect a message after this
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
if mosq_test.expect_packet(sock, "publish1r1", publish1r2_packet):
rc = 0
# Always expect a message after this
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
mosq_test.expect_packet(sock, "publish1r1", publish1r1_packet)
# Always expect a message after this
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
mosq_test.expect_packet(sock, "publish1r1", publish1r2_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -93,6 +93,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -23,10 +23,12 @@ def do_test():
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=5, port=port)
sock.send(publish1_packet)
if mosq_test.expect_packet(sock, "disconnect", disconnect_packet):
rc = 0
mosq_test.expect_packet(sock, "disconnect", disconnect_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -39,11 +39,13 @@ def do_test():
sock1.send(publish2s_packet)
if mosq_test.expect_packet(sock2, "publish2r", publish2r_packet):
rc = 0
mosq_test.expect_packet(sock2, "publish2r", publish2r_packet)
rc = 0
sock1.close()
sock2.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -28,6 +28,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -47,18 +47,20 @@ def do_test(proto_ver):
helper(port, proto_ver)
if mosq_test.expect_packet(sock, "publish 1r", publish1r_packet):
sock.send(pubcomp1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
mosq_test.expect_packet(sock, "publish 1r", publish1r_packet)
sock.send(pubcomp1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
sock.close()
except socket.error as e:
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -44,18 +44,20 @@ def do_test(proto_ver):
helper(port, proto_ver)
if mosq_test.expect_packet(sock, "publish 1r", publish1r_packet):
sock.send(pubrec1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
mosq_test.expect_packet(sock, "publish 1r", publish1r_packet)
sock.send(pubrec1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
sock.close()
except socket.error as e:
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -56,26 +56,27 @@ def do_test():
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback 1-1")
if mosq_test.expect_packet(sock, "publish 1", publish1_packet):
sock.send(puback1_packet)
mosq_test.expect_packet(sock, "publish 1", publish1_packet)
sock.send(puback1_packet)
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback 2-1")
if mosq_test.expect_packet(sock, "publish 2", publish2s_packet):
sock.send(puback2s_packet)
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback 2-1")
mosq_test.expect_packet(sock, "publish 2", publish2s_packet)
sock.send(puback2s_packet)
sock.close()
sock.close()
time.sleep(5)
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback 1-2")
# We shouldn't receive a publish here
# This will fail if we do receive a publish
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback 2-2")
if mosq_test.expect_packet(sock, "publish 2", publish2r_packet):
sock.send(puback2r_packet)
sock.close()
rc = 0
time.sleep(5)
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback 1-2")
# We shouldn't receive a publish here
# This will fail if we do receive a publish
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback 2-2")
mosq_test.expect_packet(sock, "publish 2", publish2r_packet)
sock.send(puback2r_packet)
sock.close()
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -56,6 +56,8 @@ def do_test():
break
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -63,6 +63,8 @@ def do_test():
break
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -44,10 +44,12 @@ def do_test():
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback")
mosq_test.do_send_receive(sock, publish2_packet, puback2_packet, "puback2")
if mosq_test.expect_packet(sock, "publish3", publish3_packet):
rc = 0
mosq_test.expect_packet(sock, "publish3", publish3_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -32,10 +32,12 @@ def do_test(proto_ver):
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback")
if mosq_test.expect_packet(sock, "publish2", publish_packet2):
rc = 0
mosq_test.expect_packet(sock, "publish2", publish_packet2)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -87,46 +87,48 @@ def do_test(proto_ver):
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp1")
pub.close()
if mosq_test.expect_packet(sub1, "publish1", publish1r_packet):
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish2s_packet, pubrec_packet, "pubrec2")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp2")
pub.close()
mosq_test.expect_packet(sub1, "publish1", publish1r_packet)
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish2s_packet, pubrec_packet, "pubrec2")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp2")
pub.close()
# We expect nothing on sub1
mosq_test.do_ping(sub1, error_string="pingresp1")
# We expect nothing on sub1
mosq_test.do_ping(sub1, error_string="pingresp1")
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish3s_packet, pubrec_packet, "pubrec3")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp3")
pub.close()
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish3s_packet, pubrec_packet, "pubrec3")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp3")
pub.close()
if mosq_test.expect_packet(sub1, "publish3", publish3r_packet):
sub2 = mosq_test.do_client_connect(sub2_connect_packet, sub2_connack_packet, timeout=10, port=port)
mosq_test.do_send_receive(sub2, subscribe2_packet, suback2_packet, "suback2")
mosq_test.expect_packet(sub1, "publish3", publish3r_packet)
sub2 = mosq_test.do_client_connect(sub2_connect_packet, sub2_connack_packet, timeout=10, port=port)
mosq_test.do_send_receive(sub2, subscribe2_packet, suback2_packet, "suback2")
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish4s_packet, pubrec_packet, "pubrec4")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp4")
pub.close()
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish4s_packet, pubrec_packet, "pubrec4")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp4")
pub.close()
# We expect nothing on sub2
mosq_test.do_ping(sub2, error_string="pingresp2")
# We expect nothing on sub2
mosq_test.do_ping(sub2, error_string="pingresp2")
mosq_test.expect_packet(sub1, "publish4", publish4r_packet)
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish5s_packet, pubrec_packet, "pubrec5")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp5")
pub.close()
# We expect nothing on sub2
mosq_test.do_ping(sub2, error_string="pingresp2")
if mosq_test.expect_packet(sub1, "publish4", publish4r_packet):
pub = mosq_test.do_client_connect(pub_connect_packet, pub_connack2_packet, timeout=10, port=port)
mosq_test.do_send_receive(pub, publish5s_packet, pubrec_packet, "pubrec5")
mosq_test.do_send_receive(pub, pubrel_packet, pubcomp_packet, "pubcomp5")
pub.close()
mosq_test.expect_packet(sub1, "publish5", publish5r_packet)
rc = 0
# We expect nothing on sub2
mosq_test.do_ping(sub2, error_string="pingresp2")
if mosq_test.expect_packet(sub1, "publish5", publish5r_packet):
rc = 0
sub2.close()
sub2.close()
sub1.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -47,18 +47,20 @@ def do_test(proto_ver):
helper(port, proto_ver)
if mosq_test.expect_packet(sock, "publish 1r", publish1r_packet):
sock.send(puback1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
mosq_test.expect_packet(sock, "publish 1r", publish1r_packet)
sock.send(puback1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
sock.close()
except socket.error as e:
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -45,19 +45,21 @@ def do_test(proto_ver):
mosq_test.do_send_receive(helper, pubrel1s_packet, pubcomp1s_packet, "pubcomp 1s")
helper.close()
if mosq_test.expect_packet(sock, "publish 1r", publish1r_packet):
mosq_test.do_send_receive(sock, pubrec1s_packet, pubrel1s_packet, "pubrel 1r")
sock.send(puback1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
mosq_test.expect_packet(sock, "publish 1r", publish1r_packet)
mosq_test.do_send_receive(sock, pubrec1s_packet, pubrel1s_packet, "pubrel 1r")
sock.send(puback1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
sock.close()
except socket.error as e:
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -47,18 +47,20 @@ def do_test(proto_ver):
helper(port, proto_ver)
if mosq_test.expect_packet(sock, "publish 1r", publish1r_packet):
sock.send(pubcomp1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
mosq_test.expect_packet(sock, "publish 1r", publish1r_packet)
sock.send(pubcomp1r_packet)
sock.send(pingreq_packet)
p = sock.recv(len(pingresp_packet))
if len(p) == 0:
rc = 0
sock.close()
except socket.error as e:
if e.errno == errno.ECONNRESET:
# Connection has been closed by peer, this is the expected behaviour
rc = 0
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -60,15 +60,17 @@ def do_test():
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish 1", publish_1_packet):
sock.send(pubrec_1_packet)
mosq_test.expect_packet(sock, "publish 1", publish_1_packet)
sock.send(pubrec_1_packet)
if mosq_test.expect_packet(sock, "publish 2", publish_2_packet):
mosq_test.do_send_receive(sock, pubrec_2_packet, pubrel_2_packet, "pubrel 2")
sock.send(pubcomp_2_packet)
rc = 0
mosq_test.expect_packet(sock, "publish 2", publish_2_packet)
mosq_test.do_send_receive(sock, pubrec_2_packet, pubrel_2_packet, "pubrel 2")
sock.send(pubcomp_2_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -47,21 +47,23 @@ def do_test():
pub.wait()
(stdo, stde) = pub.communicate()
if mosq_test.expect_packet(sock, "publish1", publish_packet1):
mosq_test.do_send_receive(sock, pubrec_packet1, pubrel_packet1, "pubrel1")
sock.send(pubcomp_packet1)
mosq_test.expect_packet(sock, "publish1", publish_packet1)
mosq_test.do_send_receive(sock, pubrec_packet1, pubrel_packet1, "pubrel1")
sock.send(pubcomp_packet1)
if mosq_test.expect_packet(sock, "publish2", publish_packet2):
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
sock.send(pubcomp_packet2)
mosq_test.expect_packet(sock, "publish2", publish_packet2)
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
sock.send(pubcomp_packet2)
if mosq_test.expect_packet(sock, "publish3", publish_packet3):
mosq_test.do_send_receive(sock, pubrec_packet3, pubrel_packet3, "pubrel3")
sock.send(pubcomp_packet3)
mosq_test.expect_packet(sock, "publish3", publish_packet3)
mosq_test.do_send_receive(sock, pubrec_packet3, pubrel_packet3, "pubrel3")
sock.send(pubcomp_packet3)
rc = 0
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -50,21 +50,23 @@ def do_test(proto_ver):
pub.wait()
(stdo, stde) = pub.communicate()
if mosq_test.expect_packet(sock, "publish1", publish_packet1):
if mosq_test.expect_packet(sock, "publish2", publish_packet2):
mosq_test.do_send_receive(sock, pubrec_packet1, pubrel_packet1, "pubrel1")
sock.send(pubcomp_packet1)
mosq_test.expect_packet(sock, "publish1", publish_packet1)
mosq_test.expect_packet(sock, "publish2", publish_packet2)
mosq_test.do_send_receive(sock, pubrec_packet1, pubrel_packet1, "pubrel1")
sock.send(pubcomp_packet1)
if mosq_test.expect_packet(sock, "publish3", publish_packet3):
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
sock.send(pubcomp_packet2)
mosq_test.expect_packet(sock, "publish3", publish_packet3)
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
sock.send(pubcomp_packet2)
mosq_test.do_send_receive(sock, pubrec_packet3, pubrel_packet3, "pubrel3")
sock.send(pubcomp_packet3)
mosq_test.do_send_receive(sock, pubrec_packet3, pubrel_packet3, "pubrel3")
sock.send(pubcomp_packet3)
rc = 0
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -49,6 +49,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
if rc:
print(stde.decode('utf-8'))

View File

@ -37,13 +37,15 @@ def do_test(proto_ver):
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec")
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
if mosq_test.expect_packet(sock, "publish2", publish_packet2):
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
sock.send(pubcomp_packet2)
# Broker side of flow complete so can quit here.
rc = 0
mosq_test.expect_packet(sock, "publish2", publish_packet2)
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
sock.send(pubcomp_packet2)
# Broker side of flow complete so can quit here.
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -29,6 +29,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -34,6 +34,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -30,6 +30,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -69,10 +69,12 @@ def do_test(proto_ver):
pub_sock = mosq_test.do_client_connect(connect_packet_pub, connack_packet_pub, port=port)
mosq_test.do_send_receive(pub_sock, publish_packet, puback_packet, "publish")
if mosq_test.expect_packet(sub_sock, "publish receive", publish_packet):
rc = 0
mosq_test.expect_packet(sub_sock, "publish receive", publish_packet)
rc = 0
sub_sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -26,6 +26,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -24,6 +24,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -24,6 +24,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -31,6 +31,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -28,6 +28,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -27,6 +27,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -33,6 +33,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -27,6 +27,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -39,15 +39,15 @@ def pattern_test(sub_topic, pub_topic):
helper(port, pub_topic)
if mosq_test.expect_packet(sock, "publish", publish_packet):
mosq_test.do_send_receive(sock, unsubscribe_packet, unsuback_packet, "unsuback")
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish retained", publish_retained_packet):
rc = 0
mosq_test.expect_packet(sock, "publish", publish_packet)
mosq_test.do_send_receive(sock, unsubscribe_packet, unsuback_packet, "unsuback")
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
mosq_test.expect_packet(sock, "publish retained", publish_retained_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -48,23 +48,25 @@ def do_test(proto_ver):
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish", publish_packet):
# Send our outgoing message. When we disconnect the broker
# should get rid of it and assume we're going to retry.
sock.send(publish2_packet)
sock.close()
mosq_test.expect_packet(sock, "publish", publish_packet)
# Send our outgoing message. When we disconnect the broker
# should get rid of it and assume we're going to retry.
sock.send(publish2_packet)
sock.close()
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(60) # 60 seconds timeout is much longer than 5 seconds message retry.
sock.connect(("localhost", port))
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(60) # 60 seconds timeout is much longer than 5 seconds message retry.
sock.connect(("localhost", port))
mosq_test.do_send_receive(sock, connect_packet, connack2_packet, "connack")
mosq_test.do_send_receive(sock, connect_packet, connack2_packet, "connack")
if mosq_test.expect_packet(sock, "dup publish", publish_dup_packet):
sock.send(puback_packet)
rc = 0
mosq_test.expect_packet(sock, "dup publish", publish_dup_packet)
sock.send(puback_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -56,24 +56,26 @@ def do_test(proto_ver):
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish", publish_packet):
# Send our outgoing message. When we disconnect the broker
# should get rid of it and assume we're going to retry.
sock.send(publish2_packet)
sock.close()
mosq_test.expect_packet(sock, "publish", publish_packet)
# Send our outgoing message. When we disconnect the broker
# should get rid of it and assume we're going to retry.
sock.send(publish2_packet)
sock.close()
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
if mosq_test.expect_packet(sock, "dup publish", publish_dup_packet):
mosq_test.do_send_receive(sock, pubrec_packet, pubrel_packet, "pubrel")
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
mosq_test.expect_packet(sock, "dup publish", publish_dup_packet)
mosq_test.do_send_receive(sock, pubrec_packet, pubrel_packet, "pubrel")
sock.close()
sock.close()
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
if mosq_test.expect_packet(sock, "dup pubrel", pubrel_packet):
sock.send(pubcomp_packet)
rc = 0
sock.close()
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
mosq_test.expect_packet(sock, "dup pubrel", pubrel_packet)
sock.send(pubcomp_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -40,13 +40,15 @@ def len_test(test, puback_packet):
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish", publish_packet):
sock.send(puback_packet)
mosq_test.expect_packet(sock, "publish", publish_packet)
sock.send(puback_packet)
mosq_test.do_ping(sock)
rc = 0
mosq_test.do_ping(sock)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -47,14 +47,16 @@ def len_test(test, pubrec_packet, pubcomp_packet):
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish", publish_packet):
mosq_test.do_send_receive(sock, pubrec_packet, pubrel_packet, "pubrel")
sock.send(pubcomp_packet)
mosq_test.expect_packet(sock, "publish", publish_packet)
mosq_test.do_send_receive(sock, pubrec_packet, pubrel_packet, "pubrel")
sock.send(pubcomp_packet)
mosq_test.do_ping(sock)
rc = 0
mosq_test.do_ping(sock)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -43,15 +43,17 @@ def do_test(proto_ver):
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish", publish_packet):
# Wait for longer than 5 seconds to get republish with dup set
# This is covered by the 8 second timeout
mosq_test.expect_packet(sock, "publish", publish_packet)
# Wait for longer than 5 seconds to get republish with dup set
# This is covered by the 8 second timeout
if mosq_test.expect_packet(sock, "dup publish", publish_dup_packet):
sock.send(puback_packet)
rc = 0
mosq_test.expect_packet(sock, "dup publish", publish_dup_packet)
sock.send(puback_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -48,21 +48,23 @@ def do_test(proto_ver):
helper(port)
# Should have now received a publish command
if mosq_test.expect_packet(sock, "publish", publish_packet):
# Wait for longer than 5 seconds to get republish with dup set
# This is covered by the 8 second timeout
mosq_test.expect_packet(sock, "publish", publish_packet)
# Wait for longer than 5 seconds to get republish with dup set
# This is covered by the 8 second timeout
if mosq_test.expect_packet(sock, "dup publish", publish_dup_packet):
mosq_test.do_send_receive(sock, pubrec_packet, pubrel_packet, "pubrel")
mosq_test.expect_packet(sock, "dup publish", publish_dup_packet)
mosq_test.do_send_receive(sock, pubrec_packet, pubrel_packet, "pubrel")
# Wait for longer than 5 seconds to get republish with dup set
# This is covered by the 8 second timeout
# Wait for longer than 5 seconds to get republish with dup set
# This is covered by the 8 second timeout
if mosq_test.expect_packet(sock, "dup pubrel", pubrel_packet):
sock.send(pubcomp_packet)
rc = 0
mosq_test.expect_packet(sock, "dup pubrel", pubrel_packet)
sock.send(pubcomp_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -49,19 +49,21 @@ def do_test(proto_ver):
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port, connack_error="connack 2")
sock.send(publish_dup_packet)
if mosq_test.expect_packet(sock, "pubrec", pubrec_packet):
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
mosq_test.expect_packet(sock, "pubrec", pubrec_packet)
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
# Again, pretend we didn't receive this pubcomp
sock.close()
# Again, pretend we didn't receive this pubcomp
sock.close()
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
mosq_test.do_send_receive(sock, pubrel_dup_packet, pubcomp_packet, "pubcomp")
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
mosq_test.do_send_receive(sock, pubrel_dup_packet, pubcomp_packet, "pubcomp")
rc = 0
rc = 0
sock.close()
helper.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -30,6 +30,8 @@ def len_test(test, pubrel_packet):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -28,12 +28,14 @@ def do_test(port):
# Timeout is 8 seconds which means the broker should repeat the PUBREC.
if mosq_test.expect_packet(sock, "pubrec", pubrec_packet):
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
mosq_test.expect_packet(sock, "pubrec", pubrec_packet)
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
rc = 0
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -35,6 +35,8 @@ try:
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -23,6 +23,8 @@ try:
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -34,6 +34,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -31,6 +31,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -32,6 +32,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -61,6 +61,8 @@ try:
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -147,6 +147,8 @@ try:
raise ValueError
rc = 0
except mosq_test.TestError:
pass
finally:
cq.put("quit")
brokerMonitor.join()

View File

@ -38,6 +38,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -27,6 +27,9 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -37,6 +37,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -27,6 +27,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -73,25 +73,27 @@ def do_test(proto_ver, per_listener, username):
sock = mosq_test.do_client_connect(connect2_packet, connack2_packet, port=port2)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 1")
if mosq_test.expect_packet(sock, "publish", publish_packet):
sock.close()
mosq_test.expect_packet(sock, "publish", publish_packet)
sock.close()
# Remove "write" ability
write_acl_2(acl_file, username)
broker.terminate()
broker.wait()
if os.path.isfile(persistence_file) == False:
raise FileNotFoundError("Persistence file not written")
# Remove "write" ability
write_acl_2(acl_file, username)
broker.terminate()
broker.wait()
if os.path.isfile(persistence_file) == False:
raise FileNotFoundError("Persistence file not written")
broker = mosq_test.start_broker(filename=os.path.basename(__file__), use_conf=True, port=port1)
broker = mosq_test.start_broker(filename=os.path.basename(__file__), use_conf=True, port=port1)
sock = mosq_test.do_client_connect(connect2_packet, connack2_packet, port=port2)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 2")
# If we receive the retained message here, it is a failure.
mosq_test.do_ping(sock)
rc = 0
sock = mosq_test.do_client_connect(connect2_packet, connack2_packet, port=port2)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 2")
# If we receive the retained message here, it is a failure.
mosq_test.do_ping(sock)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -61,23 +61,25 @@ def do_test(proto_ver, per_listener, username):
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 1")
if mosq_test.expect_packet(sock, "publish", publish_packet):
sock.close()
mosq_test.expect_packet(sock, "publish", publish_packet)
sock.close()
# Remove "write" ability
write_acl_2(acl_file, username)
broker.terminate()
broker.wait()
# Remove "write" ability
write_acl_2(acl_file, username)
broker.terminate()
broker.wait()
broker = mosq_test.start_broker(filename=os.path.basename(__file__), use_conf=True, port=port)
broker = mosq_test.start_broker(filename=os.path.basename(__file__), use_conf=True, port=port)
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 2")
# If we receive the retained message here, it is a failure.
mosq_test.do_ping(sock)
rc = 0
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 2")
# If we receive the retained message here, it is a failure.
mosq_test.do_ping(sock)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -49,20 +49,22 @@ def do_test(proto_ver, per_listener):
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 1")
if mosq_test.expect_packet(sock, "publish", publish_packet):
sock.close()
mosq_test.expect_packet(sock, "publish", publish_packet)
sock.close()
# Remove "write" ability
write_acl_2(acl_file)
broker.send_signal(signal.SIGHUP)
# Remove "write" ability
write_acl_2(acl_file)
broker.send_signal(signal.SIGHUP)
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 2")
# If we receive the retained message here, it is a failure.
mosq_test.do_ping(sock)
rc = 0
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback 2")
# If we receive the retained message here, it is a failure.
mosq_test.do_ping(sock)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
os.remove(acl_file)

View File

@ -32,25 +32,27 @@ def do_test(proto_ver):
# Subscribe to topic, we should get the retained message back.
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish", publish_packet):
# Now unsubscribe from the topic before we clear the retained
# message.
mosq_test.do_send_receive(sock, unsubscribe_packet, unsuback_packet, "unsuback")
mosq_test.expect_packet(sock, "publish", publish_packet)
# Now unsubscribe from the topic before we clear the retained
# message.
mosq_test.do_send_receive(sock, unsubscribe_packet, unsuback_packet, "unsuback")
# Now clear the retained message.
sock.send(retain_clear_packet)
# Now clear the retained message.
sock.send(retain_clear_packet)
# Subscribe to topic, we shouldn't get anything back apart
# from the SUBACK.
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
time.sleep(1)
# If we do get something back, it should be before this ping, so if
# this succeeds then we're ok.
mosq_test.do_ping(sock)
# This is the expected event
rc = 0
# Subscribe to topic, we shouldn't get anything back apart
# from the SUBACK.
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
time.sleep(1)
# If we do get something back, it should be before this ping, so if
# this succeeds then we're ok.
mosq_test.do_ping(sock)
# This is the expected event
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -28,6 +28,8 @@ def do_test(proto_ver):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -29,14 +29,16 @@ def do_test(proto_ver):
sock.send(publish_packet)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish", publish_packet):
mosq_test.do_send_receive(sock, unsubscribe_packet, unsuback_packet, "unsuback")
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
mosq_test.expect_packet(sock, "publish", publish_packet)
mosq_test.do_send_receive(sock, unsubscribe_packet, unsuback_packet, "unsuback")
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish", publish_packet):
rc = 0
mosq_test.expect_packet(sock, "publish", publish_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -24,10 +24,12 @@ def do_test(proto_ver):
sock.send(publish_packet)
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish", publish_packet):
rc = 0
mosq_test.expect_packet(sock, "publish", publish_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -32,10 +32,12 @@ def do_test(proto_ver):
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback")
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish0", publish0_packet):
rc = 0
mosq_test.expect_packet(sock, "publish0", publish0_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -36,10 +36,12 @@ def do_test(proto_ver):
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
if mosq_test.expect_packet(sock, "publish", publish_packet2):
rc = 0
mosq_test.expect_packet(sock, "publish", publish_packet2)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -49,11 +49,13 @@ def do_test(proto_ver):
# Now reconnect and expect a publish message.
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, timeout=30, port=port)
if mosq_test.expect_packet(sock, "publish", publish_packet):
sock.send(puback_packet)
rc = 0
mosq_test.expect_packet(sock, "publish", publish_packet)
sock.send(puback_packet)
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -90,6 +90,8 @@ try:
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

View File

@ -68,32 +68,34 @@ def do_test(proto_ver):
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "subscribe", subscribe_packet):
bridge.send(suback_packet)
mosq_test.expect_packet(bridge, "subscribe", subscribe_packet)
bridge.send(suback_packet)
bridge.send(publish_packet)
# Bridge doesn't have time to respond but should expect us to retry
# and so remove PUBACK.
bridge.close()
bridge.send(publish_packet)
# Bridge doesn't have time to respond but should expect us to retry
# and so remove PUBACK.
bridge.close()
(bridge, address) = ssock.accept()
bridge.settimeout(20)
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet):
bridge.send(suback2_packet)
mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet)
bridge.send(suback2_packet)
# Send a different publish message to make sure the response isn't to the old one.
bridge.send(publish2_packet)
if mosq_test.expect_packet(bridge, "puback", puback2_packet):
rc = 0
# Send a different publish message to make sure the response isn't to the old one.
bridge.send(publish2_packet)
mosq_test.expect_packet(bridge, "puback", puback2_packet)
rc = 0
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -68,47 +68,49 @@ def do_test(proto_ver):
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "subscribe", subscribe_packet):
bridge.send(suback_packet)
mosq_test.expect_packet(bridge, "subscribe", subscribe_packet)
bridge.send(suback_packet)
bridge.send(publish_packet)
bridge.close()
bridge.send(publish_packet)
bridge.close()
(bridge, address) = ssock.accept()
bridge.settimeout(20)
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet):
bridge.send(suback2_packet)
bridge.send(publish_dup_packet)
mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet)
bridge.send(suback2_packet)
bridge.send(publish_dup_packet)
if mosq_test.expect_packet(bridge, "pubrec", pubrec_packet):
bridge.send(pubrel_packet)
bridge.close()
mosq_test.expect_packet(bridge, "pubrec", pubrec_packet)
bridge.send(pubrel_packet)
bridge.close()
(bridge, address) = ssock.accept()
bridge.settimeout(20)
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "3rd subscribe", subscribe3_packet):
bridge.send(suback3_packet)
mosq_test.expect_packet(bridge, "3rd subscribe", subscribe3_packet)
bridge.send(suback3_packet)
bridge.send(publish_dup_packet)
bridge.send(publish_dup_packet)
if mosq_test.expect_packet(bridge, "2nd pubrec", pubrec_packet):
bridge.send(pubrel_packet)
mosq_test.expect_packet(bridge, "2nd pubrec", pubrec_packet)
bridge.send(pubrel_packet)
if mosq_test.expect_packet(bridge, "pubcomp", pubcomp_packet):
rc = 0
mosq_test.expect_packet(bridge, "pubcomp", pubcomp_packet)
rc = 0
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -77,18 +77,20 @@ def do_test(proto_ver):
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "publish", publish_packet):
bridge.send(puback_packet)
# Guard against multiple retained messages of the same type by
# sending a pingreq to give us something to expect back. If we get
# a publish, it's a fail.
mosq_test.do_ping(bridge)
rc = 0
mosq_test.expect_packet(bridge, "publish", publish_packet)
bridge.send(puback_packet)
# Guard against multiple retained messages of the same type by
# sending a pingreq to give us something to expect back. If we get
# a publish, it's a fail.
mosq_test.do_ping(bridge)
rc = 0
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -57,13 +57,15 @@ def do_test(proto_ver):
client.close()
# We've now sent a message to the broker that should be delivered to us via the bridge
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "publish", publish_packet):
rc = 0
mosq_test.expect_packet(bridge, "publish", publish_packet)
rc = 0
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -133,6 +133,8 @@ def do_test(proto_ver):
sock.close()
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -64,39 +64,41 @@ def do_test(proto_ver):
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "subscribe", subscribe_packet):
bridge.send(suback_packet)
mosq_test.expect_packet(bridge, "subscribe", subscribe_packet)
bridge.send(suback_packet)
# Helper
helper_connect_packet = mosq_test.gen_connect("test-helper", keepalive=keepalive, proto_ver=proto_ver)
helper_connack_packet = mosq_test.gen_connack(rc=0, proto_ver=proto_ver)
mid = 128
helper_publish_packet = mosq_test.gen_publish("bridge/disconnect/test", qos=1, mid=mid, payload="disconnect-message", proto_ver=proto_ver)
helper_puback_packet = mosq_test.gen_puback(mid, proto_ver=proto_ver)
helper_sock = mosq_test.do_client_connect(helper_connect_packet, helper_connack_packet, port=port2, connack_error="helper connack")
mosq_test.do_send_receive(helper_sock, publish_packet, puback_packet, "helper puback")
helper_sock.close()
# End helper
# Helper
helper_connect_packet = mosq_test.gen_connect("test-helper", keepalive=keepalive, proto_ver=proto_ver)
helper_connack_packet = mosq_test.gen_connack(rc=0, proto_ver=proto_ver)
mid = 128
helper_publish_packet = mosq_test.gen_publish("bridge/disconnect/test", qos=1, mid=mid, payload="disconnect-message", proto_ver=proto_ver)
helper_puback_packet = mosq_test.gen_puback(mid, proto_ver=proto_ver)
helper_sock = mosq_test.do_client_connect(helper_connect_packet, helper_connack_packet, port=port2, connack_error="helper connack")
mosq_test.do_send_receive(helper_sock, publish_packet, puback_packet, "helper puback")
helper_sock.close()
# End helper
if mosq_test.expect_packet(bridge, "publish", publish_packet):
bridge.close()
mosq_test.expect_packet(bridge, "publish", publish_packet)
bridge.close()
(bridge, address) = ssock.accept()
bridge.settimeout(20)
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "2nd connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "2nd connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet):
bridge.send(suback2_packet)
mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet)
bridge.send(suback2_packet)
if mosq_test.expect_packet(bridge, "2nd publish", publish_dup_packet):
rc = 0
mosq_test.expect_packet(bridge, "2nd publish", publish_dup_packet)
rc = 0
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -70,61 +70,63 @@ def do_test(proto_ver):
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "subscribe", subscribe_packet):
bridge.send(suback_packet)
mosq_test.expect_packet(bridge, "subscribe", subscribe_packet)
bridge.send(suback_packet)
# Helper
helper_connect_packet = mosq_test.gen_connect("test-helper", keepalive=keepalive, proto_ver=proto_ver)
helper_connack_packet = mosq_test.gen_connack(rc=0, proto_ver=proto_ver)
# Helper
helper_connect_packet = mosq_test.gen_connect("test-helper", keepalive=keepalive, proto_ver=proto_ver)
helper_connack_packet = mosq_test.gen_connack(rc=0, proto_ver=proto_ver)
mid = 312
helper_publish_packet = mosq_test.gen_publish("bridge/disconnect/test", qos=2, mid=mid, payload="disconnect-message", proto_ver=proto_ver)
helper_pubrec_packet = mosq_test.gen_pubrec(mid=mid, proto_ver=proto_ver)
helper_pubrel_packet = mosq_test.gen_pubrel(mid=mid, proto_ver=proto_ver)
helper_pubcomp_packet = mosq_test.gen_pubcomp(mid=mid, proto_ver=proto_ver)
mid = 312
helper_publish_packet = mosq_test.gen_publish("bridge/disconnect/test", qos=2, mid=mid, payload="disconnect-message", proto_ver=proto_ver)
helper_pubrec_packet = mosq_test.gen_pubrec(mid=mid, proto_ver=proto_ver)
helper_pubrel_packet = mosq_test.gen_pubrel(mid=mid, proto_ver=proto_ver)
helper_pubcomp_packet = mosq_test.gen_pubcomp(mid=mid, proto_ver=proto_ver)
helper_sock = mosq_test.do_client_connect(helper_connect_packet, helper_connack_packet, port=port2, connack_error="helper connack")
mosq_test.do_send_receive(helper_sock, helper_publish_packet, helper_pubrec_packet, "helper pubrec")
mosq_test.do_send_receive(helper_sock, helper_pubrel_packet, helper_pubcomp_packet, "helper pubcomp")
helper_sock.close()
# End helper
helper_sock = mosq_test.do_client_connect(helper_connect_packet, helper_connack_packet, port=port2, connack_error="helper connack")
mosq_test.do_send_receive(helper_sock, helper_publish_packet, helper_pubrec_packet, "helper pubrec")
mosq_test.do_send_receive(helper_sock, helper_pubrel_packet, helper_pubcomp_packet, "helper pubcomp")
helper_sock.close()
# End helper
if mosq_test.expect_packet(bridge, "publish", publish_packet):
bridge.close()
mosq_test.expect_packet(bridge, "publish", publish_packet)
bridge.close()
(bridge, address) = ssock.accept()
bridge.settimeout(20)
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet):
bridge.send(suback2_packet)
mosq_test.expect_packet(bridge, "2nd subscribe", subscribe2_packet)
bridge.send(suback2_packet)
if mosq_test.expect_packet(bridge, "2nd publish", publish_dup_packet):
bridge.send(pubrec_packet)
mosq_test.expect_packet(bridge, "2nd publish", publish_dup_packet)
bridge.send(pubrec_packet)
if mosq_test.expect_packet(bridge, "pubrel", pubrel_packet):
bridge.close()
mosq_test.expect_packet(bridge, "pubrel", pubrel_packet)
bridge.close()
(bridge, address) = ssock.accept()
bridge.settimeout(20)
(bridge, address) = ssock.accept()
bridge.settimeout(20)
if mosq_test.expect_packet(bridge, "connect", connect_packet):
bridge.send(connack_packet)
mosq_test.expect_packet(bridge, "connect", connect_packet)
bridge.send(connack_packet)
if mosq_test.expect_packet(bridge, "3rd subscribe", subscribe3_packet):
bridge.send(suback3_packet)
mosq_test.expect_packet(bridge, "3rd subscribe", subscribe3_packet)
bridge.send(suback3_packet)
if mosq_test.expect_packet(bridge, "2nd pubrel", pubrel_packet):
bridge.send(pubcomp_packet)
rc = 0
mosq_test.expect_packet(bridge, "2nd pubrel", pubrel_packet)
bridge.send(pubcomp_packet)
rc = 0
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -113,6 +113,8 @@ def do_test(proto_ver):
sock.close()
bridge.close()
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
try:

View File

@ -217,6 +217,8 @@ def do_test(proto_ver, cs, lcs=None):
success = True
except mosq_test.TestError:
pass
finally:
os.remove(conf_file_a)
os.remove(conf_file_b)

View File

@ -69,21 +69,23 @@ def do_test(proto_ver):
(conn, address) = sock.accept()
conn.settimeout(20)
if mosq_test.expect_packet(conn, "connect", connect_packet):
conn.send(connack_packet)
mosq_test.expect_packet(conn, "connect", connect_packet)
conn.send(connack_packet)
if mosq_test.expect_packet(conn, "unsubscribe", unsubscribe_packet):
conn.send(unsuback_packet)
mosq_test.expect_packet(conn, "unsubscribe", unsubscribe_packet)
conn.send(unsuback_packet)
# Send the unexpected puback packet
conn.send(puback_packet_unknown)
# Send the unexpected puback packet
conn.send(puback_packet_unknown)
# Send a legitimate publish packet to verify everything is still ok
conn.send(publish_packet)
# Send a legitimate publish packet to verify everything is still ok
conn.send(publish_packet)
if mosq_test.expect_packet(conn, "puback", puback_packet):
rc = 0
mosq_test.expect_packet(conn, "puback", puback_packet)
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -75,27 +75,29 @@ def do_test(proto_ver):
(conn, address) = sock.accept()
conn.settimeout(20)
if mosq_test.expect_packet(conn, "connect", connect_packet):
conn.send(connack_packet)
mosq_test.expect_packet(conn, "connect", connect_packet)
conn.send(connack_packet)
if mosq_test.expect_packet(conn, "unsubscribe", unsubscribe_packet):
conn.send(unsuback_packet)
mosq_test.expect_packet(conn, "unsubscribe", unsubscribe_packet)
conn.send(unsuback_packet)
# Send the unexpected pubrec packet
conn.send(pubrec_packet_unknown1)
if mosq_test.expect_packet(conn, "pubrel", pubrel_packet_unknown1):
# Send the unexpected pubrec packet
conn.send(pubrec_packet_unknown1)
mosq_test.expect_packet(conn, "pubrel", pubrel_packet_unknown1)
conn.send(pubrel_packet_unknown2)
if mosq_test.expect_packet(conn, "pubcomp", pubcomp_packet_unknown2):
conn.send(pubrel_packet_unknown2)
mosq_test.expect_packet(conn, "pubcomp", pubcomp_packet_unknown2)
conn.send(pubcomp_packet_unknown3)
conn.send(pubcomp_packet_unknown3)
# Send a legitimate publish packet to verify everything is still ok
conn.send(publish_packet)
# Send a legitimate publish packet to verify everything is still ok
conn.send(publish_packet)
if mosq_test.expect_packet(conn, "puback", puback_packet):
rc = 0
mosq_test.expect_packet(conn, "puback", puback_packet)
rc = 0
except mosq_test.TestError:
pass
finally:
os.remove(conf_file)
broker.terminate()

View File

@ -30,6 +30,8 @@ def do_test(proto_ver_connect, proto_ver_msgs, sub_opts):
rc = 0
sock.close()
except mosq_test.TestError:
pass
finally:
broker.terminate()
broker.wait()

Some files were not shown because too many files have changed in this diff Show More