mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-08-17 17:41:58 +08:00
Test: Start of big refactor
Add new MosquittoBroker class to remove test boilerplate. This only handles non-config cases so far.
This commit is contained in:
@@ -9,7 +9,6 @@ def do_test():
|
||||
num_connects = 1000
|
||||
num_props = 5000
|
||||
|
||||
rc = 1
|
||||
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
for i in range(0, num_props):
|
||||
props += mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
@@ -18,10 +17,9 @@ def do_test():
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker_info = ProcessInfo(broker.pid)
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
broker_info = ProcessInfo(broker._process.pid)
|
||||
cpu_user_start = broker_info.cpu_times().user
|
||||
|
||||
for i in range(num_connects):
|
||||
@@ -40,19 +38,10 @@ def do_test():
|
||||
# 20 is chosen as a factor that works in plain mode and running under
|
||||
# valgrind. The slow performance manifests as a factor of >100. Fast is <10.
|
||||
if cpu_user_with_props / cpu_user_without_props < 20.0:
|
||||
rc = 0
|
||||
pass
|
||||
else:
|
||||
print(f"CPU usage ratio with/without properties is {cpu_user_with_props / cpu_user_without_props}")
|
||||
except Exception:
|
||||
traceback.print_stack(file=sys.stdout)
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
exit(rc)
|
||||
raise ValueError(f"CPU usage ratio with/without properties is {cpu_user_with_props / cpu_user_without_props}")
|
||||
|
||||
|
||||
do_test()
|
||||
exit(0)
|
||||
if __name__ == '__main__':
|
||||
do_test()
|
||||
|
||||
@@ -33,16 +33,13 @@ def disco_test(test, disconnect_packet):
|
||||
|
||||
rc -= 1
|
||||
|
||||
def do_test(start_broker):
|
||||
def do_test():
|
||||
global rc
|
||||
|
||||
rc = 4
|
||||
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
# No reason code, no properties, len=0
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(proto_ver=5)
|
||||
disco_test("disco len=0", disconnect_packet)
|
||||
@@ -59,22 +56,9 @@ def do_test(start_broker):
|
||||
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(proto_ver=5, reason_code=0, properties=props)
|
||||
disco_test("disco len>2", disconnect_packet)
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
assert rc == 0
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -5,10 +5,8 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
rc = 1
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
connect_packet = mqtt_packets.gen_connect("take-over", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(reason_code=mqtt5_rc.SESSION_TAKEN_OVER, proto_ver=5)
|
||||
@@ -20,16 +18,3 @@ try:
|
||||
|
||||
sock2.close()
|
||||
sock1.close()
|
||||
rc = 0
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
except Exception as e:
|
||||
print(e)
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
exit(rc)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
mid = 1
|
||||
|
||||
connect1_packet = mqtt_packets.gen_connect("02-shared-nolocal-client1", proto_ver=5)
|
||||
@@ -15,31 +14,12 @@ def do_test(start_broker):
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(reason_code=mqtt5_rc.PROTOCOL_ERROR, proto_ver=5)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect1_packet, connack1_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, disconnect_packet, "disconnect")
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
mid = 1
|
||||
|
||||
connect1_packet = mqtt_packets.gen_connect("02-shared-client1", proto_ver=5)
|
||||
@@ -77,10 +76,9 @@ def do_test(start_broker):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock1 = mosq_test.do_client_connect(connect1_packet, connack1_packet, timeout=20, port=port)
|
||||
sock2 = mosq_test.do_client_connect(connect2_packet, connack2_packet, timeout=20, port=port)
|
||||
sock3 = mosq_test.do_client_connect(connect3_packet, connack3_packet, timeout=20, port=port)
|
||||
@@ -115,28 +113,12 @@ def do_test(start_broker):
|
||||
mosq_test.do_send_receive(sock4, unsubscribe4_packet, unsuback4_packet, "unsuback4")
|
||||
mosq_test.do_send_receive(sock5, unsubscribe5_packet, unsuback5_packet, "unsuback5")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock1.close()
|
||||
sock2.close()
|
||||
sock3.close()
|
||||
sock4.close()
|
||||
sock5.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -25,41 +25,19 @@ def test(port):
|
||||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback 1")
|
||||
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback 2")
|
||||
mosq_test.do_send_receive(sock, unsubscribe1_packet, unsuback1_packet, "unsuback")
|
||||
|
||||
sock.send(disconnect_packet)
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker=True):
|
||||
rc = 1
|
||||
|
||||
def do_test():
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
test(port)
|
||||
# Repeat test to check broker is still there
|
||||
test(port)
|
||||
|
||||
rc = 0
|
||||
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
props = mqtt5_props.gen_uint16_prop(mqtt5_props.TOPIC_ALIAS_MAXIMUM, 65535)
|
||||
connect_packet = mqtt_packets.gen_connect("02-b2c-topic-alias", proto_ver=5, properties=props)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
@@ -18,10 +17,9 @@ def do_test(start_broker):
|
||||
connack_packet_helper = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port, nolog=True)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=5, port=port)
|
||||
helper = mosq_test.do_client_connect(connect_packet_helper, connack_packet_helper, timeout=5, port=port)
|
||||
|
||||
@@ -70,27 +68,8 @@ def do_test(start_broker):
|
||||
sock.send(publish_packet_s)
|
||||
mosq_test.expect_packet(sock, "publish %db"%(i), publish_packet_r)
|
||||
|
||||
rc = 0
|
||||
|
||||
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, topic, succeeds):
|
||||
rc = 1
|
||||
def do_test(port, topic, succeeds):
|
||||
mid = 53
|
||||
connect_packet = mqtt_packets.gen_connect("02-subpub-qos0-long-topic")
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0)
|
||||
@@ -15,53 +14,29 @@ def do_test(start_broker, topic, succeeds):
|
||||
|
||||
publish_packet = mqtt_packets.gen_publish(topic, qos=0, payload="message")
|
||||
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
if succeeds:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
mosq_test.do_send_receive(sock, publish_packet, publish_packet, "publish")
|
||||
else:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, b"", "suback")
|
||||
raise RuntimeError(topic)
|
||||
except BrokenPipeError:
|
||||
pass
|
||||
sock.close()
|
||||
|
||||
|
||||
def all_tests():
|
||||
port = mosq_test.get_port()
|
||||
broker = None
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
if succeeds:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
mosq_test.do_send_receive(sock, publish_packet, publish_packet, "publish")
|
||||
else:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, b"", "suback")
|
||||
return 1
|
||||
except BrokenPipeError:
|
||||
pass
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
finally:
|
||||
if broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
return rc
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
rc = do_test(start_broker, "/"*200, True) # 200 max hierarchy limit
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(start_broker, "abc/"*199+"d", True) # 200 max hierarchy limit, longer overall string than 200
|
||||
if rc:
|
||||
return rc
|
||||
|
||||
rc = do_test(start_broker, "/"*201, False) # Exceeds 200 max hierarchy limit
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(start_broker, "abc/"*201+"d", False) # Exceeds 200 max hierarchy limit, longer overall string than 200
|
||||
if rc:
|
||||
return rc
|
||||
return 0
|
||||
with broker:
|
||||
do_test(port, "/"*200, True) # 200 max hierarchy limit
|
||||
do_test(port, "abc/"*199+"d", True) # 200 max hierarchy limit, longer overall string than 200
|
||||
do_test(port, "/"*201, False) # Exceeds 200 max hierarchy limit
|
||||
do_test(port, "abc/"*201+"d", False) # Exceeds 200 max hierarchy limit, longer overall string than 200
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(all_tests(True))
|
||||
all_tests()
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
connect_packet = mqtt_packets.gen_connect("02-subpub-qos0-rap", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -29,10 +28,9 @@ def do_test(start_broker):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
|
||||
@@ -40,25 +38,9 @@ def do_test(start_broker):
|
||||
|
||||
mosq_test.do_send_receive(sock, publish1_packet, publish1r_packet, "publish1")
|
||||
mosq_test.do_send_receive(sock, publish2_packet, publish2r_packet, "publish2")
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
connect_packet = mqtt_packets.gen_connect("02-subpub-qos0-send-retain", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -36,10 +35,8 @@ def do_test(start_broker):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=5, port=port)
|
||||
|
||||
sock.send(publish1_packet)
|
||||
@@ -66,22 +63,7 @@ def do_test(start_broker):
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
connect_packet = mqtt_packets.gen_connect("02-subpub-subid", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -67,10 +66,9 @@ def do_test(start_broker, proto_ver):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
|
||||
@@ -90,25 +88,8 @@ def do_test(start_broker, proto_ver):
|
||||
mosq_test.do_send_receive(sock, publish3_packet, publish3ru_packet, "publish3u")
|
||||
mosq_test.do_send_receive(sock, publish1_packet, publish1ru_packet, "publish1u")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
connect_packet = mqtt_packets.gen_connect("02-subpub-alias-unknown", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -16,33 +15,16 @@ def do_test(start_broker):
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(reason_code=mqtt5_rc.PROTOCOL_ERROR, proto_ver=5)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=5, port=port)
|
||||
sock.send(publish1_packet)
|
||||
|
||||
mosq_test.expect_packet(sock, "disconnect", disconnect_packet)
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
connect1_packet = mqtt_packets.gen_connect("02-subpub-qos0-topic-alias", proto_ver=5)
|
||||
connack1_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -26,10 +25,9 @@ def do_test(start_broker):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock1 = mosq_test.do_client_connect(connect1_packet, connack1_packet, timeout=5, port=port)
|
||||
sock2 = mosq_test.do_client_connect(connect2_packet, connack2_packet, timeout=5, port=port)
|
||||
|
||||
@@ -40,26 +38,11 @@ def do_test(start_broker):
|
||||
sock1.send(publish2s_packet)
|
||||
|
||||
mosq_test.expect_packet(sock2, "publish2r", publish2r_packet)
|
||||
rc = 0
|
||||
|
||||
sock1.close()
|
||||
sock2.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
keepalive = 60
|
||||
connect_packet = mqtt_packets.gen_connect("subpub", keepalive=keepalive, proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -45,9 +44,9 @@ def do_test(proto_ver):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
helper = mosq_test.do_client_connect(helper_connect, helper_connack, timeout=20, port=port)
|
||||
mosq_test.do_send_receive(helper, publish1_packet, puback1_packet, "puback 1")
|
||||
mosq_test.do_send_receive(helper, publish2s_packet, puback2s_packet, "puback 2")
|
||||
@@ -73,19 +72,6 @@ def do_test(proto_ver):
|
||||
mosq_test.expect_packet(sock, "publish 2", publish2r_packet)
|
||||
sock.send(puback2r_packet)
|
||||
sock.close()
|
||||
rc = 0
|
||||
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
|
||||
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
mid = 53
|
||||
keepalive = 60
|
||||
props = mqtt5_props.gen_uint32_prop(mqtt5_props.SESSION_EXPIRY_INTERVAL, 60)
|
||||
@@ -35,9 +34,9 @@ def do_test(proto_ver):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack1_packet, timeout=20, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
sock.close()
|
||||
@@ -56,17 +55,7 @@ def do_test(proto_ver):
|
||||
break
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
assert rc == 0
|
||||
|
||||
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -40,9 +40,9 @@ def do_test(proto_ver):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack1_packet, timeout=20, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
sock.close()
|
||||
@@ -63,18 +63,7 @@ def do_test(proto_ver):
|
||||
break
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
assert rc == 0
|
||||
|
||||
|
||||
do_test(proto_ver=5)
|
||||
exit(0)
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
connect_packet = mqtt_packets.gen_connect("02-subpub-qos1-nolocal", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -32,10 +31,9 @@ def do_test(start_broker):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -45,25 +43,10 @@ def do_test(start_broker):
|
||||
sock.send(publish2_packet)
|
||||
|
||||
mosq_test.receive_unordered(sock, puback2_packet, publish3_packet, "puback2/publish3")
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(port, proto_ver):
|
||||
mid = 530
|
||||
connect_packet = mqtt_packets.gen_connect("subpub-qos1-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -20,39 +19,17 @@ def do_test(start_broker, proto_ver):
|
||||
mid = 1
|
||||
publish_packet2 = mqtt_packets.gen_publish("subpub/qos1", qos=1, mid=mid, payload="message", proto_ver=proto_ver)
|
||||
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
sock.send(publish_packet)
|
||||
mosq_test.receive_unordered(sock, puback_packet, publish_packet2, "puback/publish2")
|
||||
sock.close()
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
|
||||
sock.send(publish_packet)
|
||||
mosq_test.receive_unordered(sock, puback_packet, publish_packet2, "puback/publish2")
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
port = mosq_test.get_port()
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
with broker:
|
||||
do_test(port, proto_ver=4)
|
||||
do_test(port, proto_ver=5)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
pub_connect_packet = mqtt_packets.gen_connect("02-subpub-qos2-1322-pub", clean_session=False, proto_ver=proto_ver, session_expiry=60)
|
||||
pub_connack1_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -76,10 +76,9 @@ def do_test(start_broker, proto_ver):
|
||||
publish5r_packet = mqtt_packets.gen_publish("02/subpub/qos2/1322/topic1", qos=0, payload="message5", proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sub1 = mosq_test.do_client_connect(sub1_connect_packet, sub1_connack_packet, timeout=10, port=port)
|
||||
mosq_test.do_send_receive(sub1, subscribe1_packet, suback1_packet, "suback1")
|
||||
|
||||
@@ -124,32 +123,14 @@ def do_test(start_broker, proto_ver):
|
||||
mosq_test.do_ping(sub2, error_string="pingresp2")
|
||||
|
||||
mosq_test.expect_packet(sub1, "publish5", publish5r_packet)
|
||||
rc = 0
|
||||
|
||||
sub2.close()
|
||||
sub1.close()
|
||||
|
||||
# Clear session
|
||||
pub = mosq_test.do_client_connect(pub_connect_packet_clear, pub_connack1_packet, timeout=10, port=port)
|
||||
pub.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -31,7 +31,6 @@ def helper(port):
|
||||
|
||||
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
keepalive = 60
|
||||
connect_packet = mqtt_packets.gen_connect("pub-qo2-timeout-test", keepalive=keepalive, proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -51,9 +50,9 @@ def do_test(proto_ver):
|
||||
pubcomp_2_packet = mqtt_packets.gen_pubcomp(mid, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
|
||||
@@ -66,20 +65,7 @@ def do_test(proto_ver):
|
||||
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:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
|
||||
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
def helper(port):
|
||||
rc = 1
|
||||
connect_packet = mqtt_packets.gen_connect("subpub-qos2-recv-max1-helper", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -42,8 +41,7 @@ def helper(port):
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
props = mqtt5_props.gen_uint16_prop(mqtt5_props.RECEIVE_MAXIMUM, 1)
|
||||
connect_packet = mqtt_packets.gen_connect("subpub-qos2-receive-max1", proto_ver=5, properties=props)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
@@ -72,10 +70,9 @@ def do_test(start_broker):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -93,26 +90,8 @@ def do_test(start_broker):
|
||||
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
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -42,7 +42,7 @@ def helper(port):
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
def do_test(proto_ver):
|
||||
if proto_ver == 4:
|
||||
exit(0)
|
||||
|
||||
@@ -75,10 +75,9 @@ def do_test(start_broker, proto_ver):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -96,27 +95,8 @@ def do_test(start_broker, proto_ver):
|
||||
|
||||
mosq_test.do_send_receive(sock, pubrec_packet3, pubrel_packet3, "pubrel3")
|
||||
sock.send(pubcomp_packet3)
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(port, proto_ver):
|
||||
mid = 530
|
||||
connect_packet = mqtt_packets.gen_connect("subpub-qos2-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -25,45 +24,20 @@ def do_test(start_broker, proto_ver):
|
||||
pubrel_packet2 = mqtt_packets.gen_pubrel(mid, proto_ver=proto_ver)
|
||||
pubcomp_packet2 = mqtt_packets.gen_pubcomp(mid, proto_ver=proto_ver)
|
||||
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec")
|
||||
sock.send(pubrel_packet)
|
||||
mosq_test.receive_unordered(sock, pubcomp_packet, publish_packet2, "pubcomp/publish2")
|
||||
mosq_test.do_send_receive(sock, pubrec_packet2, pubrel_packet2, "pubrel2")
|
||||
sock.send(pubcomp_packet2)
|
||||
# Broker side of flow complete so can quit here.
|
||||
sock.close()
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec")
|
||||
sock.send(pubrel_packet)
|
||||
|
||||
mosq_test.receive_unordered(sock, pubcomp_packet, publish_packet2, "pubcomp/publish2")
|
||||
|
||||
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:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
port = mosq_test.get_port()
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
do_test(port, proto_ver=4)
|
||||
do_test(port, proto_ver=5)
|
||||
|
||||
@@ -16,7 +16,6 @@ def publish_helper(port):
|
||||
|
||||
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
if proto_ver == 5:
|
||||
props = mqtt5_props.gen_uint32_prop(mqtt5_props.SESSION_EXPIRY_INTERVAL, 60)
|
||||
connect_packet = mqtt_packets.gen_connect("subpub-sub-test", proto_ver=proto_ver, clean_session=False, properties=props)
|
||||
@@ -37,9 +36,9 @@ def do_test(proto_ver):
|
||||
publish2_packet = mqtt_packets.gen_publish("shared/sub", qos=0, payload="message2", proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack1_packet, timeout=2, port=port, connack_error="connack 1")
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
|
||||
@@ -60,23 +59,6 @@ def do_test(proto_ver):
|
||||
mosq_test.expect_packet(sock, "publish2", publish2_packet)
|
||||
sock.close()
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
except Exception as err:
|
||||
print(err)
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
exit(rc)
|
||||
|
||||
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
exit(0)
|
||||
if __name__ == '__main__':
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(port, proto_ver):
|
||||
connect_packet = mqtt_packets.gen_connect("subscribe-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
@@ -17,36 +16,15 @@ def do_test(start_broker, proto_ver):
|
||||
subscribe2_packet = mqtt_packets.gen_subscribe(mid, "$share/share/#", 0, proto_ver=proto_ver)
|
||||
suback2_packet = mqtt_packets.gen_suback(mid, 0, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
|
||||
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback2")
|
||||
sock.close()
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1")
|
||||
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback2")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
port = mosq_test.get_port()
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
do_test(port, proto_ver=4)
|
||||
do_test(port, proto_ver=5)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(port, proto_ver):
|
||||
mid = 53
|
||||
connect_packet = mqtt_packets.gen_connect("subscribe-invalid-utf8", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -15,44 +14,23 @@ def do_test(start_broker, proto_ver):
|
||||
b[13] = 0 # Topic should never have a 0x0000
|
||||
subscribe_packet = struct.pack("B"*len(b), *b)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = None
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
if proto_ver == 4:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, b"", "suback")
|
||||
except BrokenPipeError:
|
||||
rc = 0
|
||||
else:
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(proto_ver=5, reason_code = mqtt5_rc.MALFORMED_PACKET)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, disconnect_packet, "suback")
|
||||
rc = 0
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
if proto_ver == 4:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, b"", "suback")
|
||||
except BrokenPipeError:
|
||||
pass
|
||||
else:
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(proto_ver=5, reason_code = mqtt5_rc.MALFORMED_PACKET)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, disconnect_packet, "suback")
|
||||
|
||||
sock.close()
|
||||
finally:
|
||||
if broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
return rc
|
||||
sock.close()
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
rc = do_test(start_broker, proto_ver=4)
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(start_broker, proto_ver=5)
|
||||
if rc:
|
||||
return rc
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(all_tests(True))
|
||||
port = mosq_test.get_port()
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
do_test(port, proto_ver=4)
|
||||
do_test(port, proto_ver=5)
|
||||
|
||||
@@ -6,52 +6,29 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(port, proto_ver):
|
||||
mid = 1
|
||||
connect_packet = mqtt_packets.gen_connect("subscribe-long-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
subscribe_packet = mqtt_packets.gen_subscribe(mid, "/"*65535, 0, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = None
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
if proto_ver == 4:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, b"", "suback")
|
||||
except BrokenPipeError:
|
||||
pass
|
||||
else:
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(proto_ver=5, reason_code = mqtt5_rc.MALFORMED_PACKET)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, disconnect_packet, "suback")
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
if proto_ver == 4:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, b"", "suback")
|
||||
except BrokenPipeError:
|
||||
rc = 0
|
||||
else:
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(proto_ver=5, reason_code = mqtt5_rc.MALFORMED_PACKET)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, disconnect_packet, "suback")
|
||||
rc = 0
|
||||
sock.close()
|
||||
|
||||
sock.close()
|
||||
finally:
|
||||
if broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
return rc
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
rc = do_test(start_broker, proto_ver=4)
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(start_broker, proto_ver=5)
|
||||
if rc:
|
||||
return rc
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(all_tests(True))
|
||||
port = mosq_test.get_port()
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
do_test(port, proto_ver=4)
|
||||
do_test(port, proto_ver=5)
|
||||
|
||||
@@ -24,8 +24,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
connect_packet_sub_persistent = mqtt_packets.gen_connect("flipflop-test", clean_session=False, proto_ver=proto_ver)
|
||||
connect_packet_sub_clean = mqtt_packets.gen_connect("flipflop-test", clean_session=True, proto_ver=proto_ver)
|
||||
connack_packet_sub = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -43,10 +42,9 @@ def do_test(start_broker, proto_ver):
|
||||
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
# mosquitto_sub -i sub -t 'topic' -q 1 -d -c
|
||||
sub_sock = mosq_test.do_client_connect(connect_packet_sub_persistent, connack_packet_sub, port=port)
|
||||
mosq_test.do_send_receive(sub_sock, subscribe_packet, suback_packet, "subscribe persistent 1")
|
||||
@@ -70,31 +68,12 @@ def do_test(start_broker, proto_ver):
|
||||
mosq_test.do_send_receive(pub_sock, publish_packet, puback_packet, "publish")
|
||||
|
||||
mosq_test.expect_packet(sub_sock, "publish receive", publish_packet)
|
||||
rc = 0
|
||||
|
||||
sub_sock.close()
|
||||
|
||||
sub_sock = mosq_test.do_client_connect(connect_packet_sub_clean, connack_packet_sub, port=port)
|
||||
sub_sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -14,7 +14,6 @@ def helper(port, pub_topic):
|
||||
|
||||
|
||||
def pattern_test(sub_topic, pub_topic):
|
||||
rc = 1
|
||||
connect_packet = mqtt_packets.gen_connect("pattern-sub-test")
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0)
|
||||
|
||||
@@ -30,9 +29,9 @@ def pattern_test(sub_topic, pub_topic):
|
||||
unsuback_packet = mqtt_packets.gen_unsuback(mid)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
|
||||
@@ -42,21 +41,8 @@ def pattern_test(sub_topic, pub_topic):
|
||||
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:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
sys.exit(rc)
|
||||
|
||||
return rc
|
||||
|
||||
pattern_test("#", "test/topic")
|
||||
pattern_test("#", "/test/topic")
|
||||
@@ -82,6 +68,3 @@ pattern_test("foo/+/baz/#", "foo//baz/bar")
|
||||
pattern_test("foo//baz/#", "foo//baz/bar")
|
||||
pattern_test("foo/foo/baz/#", "foo/foo/baz/bar")
|
||||
pattern_test("/#", "////foo///bar")
|
||||
|
||||
exit(0)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ def helper(port):
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
def do_test(proto_ver):
|
||||
port = mosq_test.get_port()
|
||||
|
||||
rc = 1
|
||||
@@ -38,10 +38,8 @@ def do_test(start_broker, proto_ver):
|
||||
publish2_packet = mqtt_packets.gen_publish("03/b2c/qos1/outgoing", qos=1, mid=mid, payload="outgoing-message", proto_ver=proto_ver)
|
||||
puback2_packet = mqtt_packets.gen_puback(mid, proto_ver=proto_ver)
|
||||
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack1_packet, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -58,32 +56,13 @@ def do_test(start_broker, proto_ver):
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack2_packet, port=port)
|
||||
mosq_test.expect_packet(sock, "dup publish", publish_dup_packet)
|
||||
sock.send(puback_packet)
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
|
||||
# clear session
|
||||
sock = mosq_test.do_client_connect(connect_packet_clear, connack1_packet, port=port)
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -23,8 +23,7 @@ def helper(port):
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
mid = 3265
|
||||
connect_packet = mqtt_packets.gen_connect("03-b2c-disco-qos2-test", clean_session=False, proto_ver=proto_ver, session_expiry=60)
|
||||
connack1_packet = mqtt_packets.gen_connack(flags=0, rc=0, proto_ver=proto_ver)
|
||||
@@ -46,10 +45,8 @@ def do_test(start_broker, proto_ver):
|
||||
puback2_packet = mqtt_packets.gen_puback(mid, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack1_packet, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -72,31 +69,13 @@ def do_test(start_broker, proto_ver):
|
||||
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()
|
||||
|
||||
# Clear session
|
||||
sock = mosq_test.do_client_connect(connect_packet_clear, connack1_packet, port=port)
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -16,8 +16,7 @@ def helper(port):
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker, test, puback_packet):
|
||||
rc = 1
|
||||
def do_test(test, puback_packet):
|
||||
mid = 3265
|
||||
connect_packet = mqtt_packets.gen_connect("03-b2c-qos1-len", clean_session=False, proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(flags=0, rc=0, proto_ver=5)
|
||||
@@ -29,10 +28,8 @@ def do_test(start_broker, test, puback_packet):
|
||||
publish_packet = mqtt_packets.gen_publish("03/b2c/qos1/len/test", qos=1, mid=mid, payload="len-message", proto_ver=5)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -44,43 +41,23 @@ def do_test(start_broker, test, puback_packet):
|
||||
sock.send(puback_packet)
|
||||
|
||||
mosq_test.do_ping(sock)
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print(test)
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
if __name__ == '__main__':
|
||||
# No reason code, no properties
|
||||
puback_packet = mqtt_packets.gen_puback(1)
|
||||
do_test(start_broker, "qos1 len 2", puback_packet)
|
||||
do_test("qos1 len 2", puback_packet)
|
||||
|
||||
# Reason code, no properties
|
||||
puback_packet = mqtt_packets.gen_puback(1, proto_ver=5, reason_code=0x00)
|
||||
do_test(start_broker, "qos1 len 3", puback_packet)
|
||||
do_test("qos1 len 3", puback_packet)
|
||||
|
||||
# Reason code, empty properties
|
||||
puback_packet = mqtt_packets.gen_puback(1, proto_ver=5, reason_code=0x00, properties="")
|
||||
do_test(start_broker, "qos1 len 4", puback_packet)
|
||||
do_test("qos1 len 4", puback_packet)
|
||||
|
||||
# Reason code, one property
|
||||
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
puback_packet = mqtt_packets.gen_puback(1, proto_ver=5, reason_code=0x00, properties=props)
|
||||
do_test(start_broker, "qos1 len >5", puback_packet)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
|
||||
|
||||
do_test("qos1 len >5", puback_packet)
|
||||
|
||||
@@ -22,8 +22,7 @@ def helper(port):
|
||||
sock.close()
|
||||
|
||||
|
||||
def do_test(start_broker, test, pubrec_packet, pubcomp_packet):
|
||||
rc = 1
|
||||
def do_test(test, pubrec_packet, pubcomp_packet):
|
||||
mid = 3265
|
||||
connect_packet = mqtt_packets.gen_connect("03-b2c-qos2-len-test", clean_session=False, proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(flags=0, rc=0, proto_ver=5)
|
||||
@@ -36,10 +35,9 @@ def do_test(start_broker, test, pubrec_packet, pubcomp_packet):
|
||||
pubrel_packet = mqtt_packets.gen_pubrel(mid)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -52,46 +50,28 @@ def do_test(start_broker, test, pubrec_packet, pubcomp_packet):
|
||||
sock.send(pubcomp_packet)
|
||||
|
||||
mosq_test.do_ping(sock)
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print(test)
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
if __name__ == '__main__':
|
||||
# No reason code, no properties
|
||||
pubrec_packet = mqtt_packets.gen_pubrec(1)
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(1)
|
||||
do_test(start_broker, "qos2 len 2", pubrec_packet, pubcomp_packet)
|
||||
do_test("qos2 len 2", pubrec_packet, pubcomp_packet)
|
||||
|
||||
# Reason code, no properties
|
||||
pubrec_packet = mqtt_packets.gen_pubrec(1, proto_ver=5, reason_code=0x00)
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(1, proto_ver=5, reason_code=0x00)
|
||||
do_test(start_broker, "qos2 len 3", pubrec_packet, pubcomp_packet)
|
||||
do_test("qos2 len 3", pubrec_packet, pubcomp_packet)
|
||||
|
||||
# Reason code, empty properties
|
||||
pubrec_packet = mqtt_packets.gen_pubrec(1, proto_ver=5, reason_code=0x00, properties="")
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(1, proto_ver=5, reason_code=0x00, properties="")
|
||||
do_test(start_broker, "qos2 len 4", pubrec_packet, pubcomp_packet)
|
||||
do_test("qos2 len 4", pubrec_packet, pubcomp_packet)
|
||||
|
||||
# Reason code, one property
|
||||
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
pubrec_packet = mqtt_packets.gen_pubrec(1, proto_ver=5, reason_code=0x00, properties=props)
|
||||
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(1, proto_ver=5, reason_code=0x00, properties=props)
|
||||
do_test(start_broker, "qos2 len >5", pubrec_packet, pubcomp_packet)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test("qos2 len >5", pubrec_packet, pubcomp_packet)
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
mid = 3265
|
||||
connect_packet = mqtt_packets.gen_connect("03-c2b-qos2-disco-test", clean_session=False, proto_ver=proto_ver, session_expiry=60)
|
||||
connack1_packet = mqtt_packets.gen_connack(flags=0, rc=0, proto_ver=proto_ver)
|
||||
@@ -32,10 +31,9 @@ def do_test(start_broker, proto_ver):
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(mid, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
# Add a subscriber, so we ensure that the QoS 2 flow must be completed
|
||||
helper = mosq_test.do_client_connect(helper_connect_packet, helper_connack_packet, port=port)
|
||||
mosq_test.do_send_receive(helper, subscribe_packet, suback_packet)
|
||||
@@ -58,34 +56,15 @@ def do_test(start_broker, proto_ver):
|
||||
|
||||
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
|
||||
|
||||
sock.close()
|
||||
helper.close()
|
||||
|
||||
# Clear session
|
||||
sock = mosq_test.do_client_connect(connect_packet_clear, connack1_packet, port=port, connack_error="connack clear")
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=3)
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=3)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, test, pubrel_packet):
|
||||
rc = 1
|
||||
def do_test(test, pubrel_packet):
|
||||
mid = 3265
|
||||
connect_packet = mqtt_packets.gen_connect("03-c2b-qos2-len", clean_session=False, proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(flags=0, rc=0, proto_ver=5)
|
||||
@@ -17,51 +16,32 @@ def do_test(start_broker, test, pubrel_packet):
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(mid)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec")
|
||||
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
|
||||
|
||||
mosq_test.do_ping(sock)
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print(test)
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
if __name__ == '__main__':
|
||||
# No reason code, no properties
|
||||
pubrel_packet = mqtt_packets.gen_pubrel(1)
|
||||
do_test(start_broker, "qos2 len 2", pubrel_packet)
|
||||
do_test("qos2 len 2", pubrel_packet)
|
||||
|
||||
# Reason code, no properties
|
||||
pubrel_packet = mqtt_packets.gen_pubrel(1, proto_ver=5, reason_code=0x00)
|
||||
do_test(start_broker, "qos2 len 3", pubrel_packet)
|
||||
do_test("qos2 len 3", pubrel_packet)
|
||||
|
||||
# Reason code, empty properties
|
||||
pubrel_packet = mqtt_packets.gen_pubrel(1, proto_ver=5, reason_code=0x00, properties="")
|
||||
do_test(start_broker, "qos2 len 4", pubrel_packet)
|
||||
do_test("qos2 len 4", pubrel_packet)
|
||||
|
||||
# Reason code, one property
|
||||
props = mqtt5_props.gen_string_pair_prop(mqtt5_props.USER_PROPERTY, "key", "value")
|
||||
pubrel_packet = mqtt_packets.gen_pubrel(1, proto_ver=5, reason_code=0x00, properties=props)
|
||||
do_test(start_broker, "qos2 len >5", pubrel_packet)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test("qos2 len >5", pubrel_packet)
|
||||
|
||||
@@ -22,36 +22,16 @@ def helper(port, topic, reason_code):
|
||||
mid += 1
|
||||
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
|
||||
def do_test():
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
helper(port, "$SYS/broker/uptime", mqtt5_rc.NOT_AUTHORIZED)
|
||||
helper(port, "$SYS/broker/connection/me", mqtt5_rc.NOT_AUTHORIZED)
|
||||
helper(port, "$SYS/broker/connection/me/state", mqtt5_rc.NO_MATCHING_SUBSCRIBERS)
|
||||
helper(port, "$share/share/03/publish/dollar/v5/topic", mqtt5_rc.NOT_AUTHORIZED)
|
||||
|
||||
rc = 0
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
mid = 19
|
||||
connect_packet = mqtt_packets.gen_connect("pub-dollar-test")
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0)
|
||||
@@ -14,32 +13,12 @@ def do_test(start_broker):
|
||||
puback_packet = mqtt_packets.gen_puback(mid)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
mid = 53
|
||||
connect_packet = mqtt_packets.gen_connect("03-publish-invalid-utf8", proto_ver=proto_ver)
|
||||
@@ -16,11 +16,8 @@ def do_test(start_broker, proto_ver):
|
||||
publish_packet = struct.pack("B"*len(b), *b)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = None
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
if proto_ver == 4:
|
||||
try:
|
||||
@@ -33,26 +30,9 @@ def do_test(start_broker, proto_ver):
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
finally:
|
||||
if broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
return rc
|
||||
assert rc == 0
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
rc = do_test(start_broker, proto_ver=4)
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(start_broker, proto_ver=5)
|
||||
if rc:
|
||||
return rc
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(all_tests(True))
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
mid = 19
|
||||
connect_packet = mqtt_packets.gen_connect("03-pub-long-test", proto_ver=proto_ver)
|
||||
@@ -16,11 +16,9 @@ def do_test(start_broker, proto_ver):
|
||||
publish_packet = mqtt_packets.gen_publish("/"*65535, qos=1, mid=mid, payload="message", proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = None
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
if proto_ver == 4:
|
||||
try:
|
||||
@@ -33,26 +31,9 @@ def do_test(start_broker, proto_ver):
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
finally:
|
||||
if broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
return rc
|
||||
assert rc == 0
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
rc = do_test(start_broker, proto_ver=4)
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(start_broker, proto_ver=5)
|
||||
if rc:
|
||||
return rc
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(all_tests(True))
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker):
|
||||
rc = 1
|
||||
def do_test():
|
||||
connect_packet = mqtt_packets.gen_connect("03-pub-qos1-no-subs", proto_ver=5)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
@@ -39,10 +38,8 @@ def do_test(start_broker):
|
||||
puback3b_packet = mqtt_packets.gen_puback(mid, proto_ver=5, reason_code=mqtt5_rc.NO_MATCHING_SUBSCRIBERS)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
|
||||
# None of the pub/qos1/test topic tree exists here
|
||||
@@ -57,25 +54,8 @@ def do_test(start_broker):
|
||||
mosq_test.do_send_receive(sock, publish1b_packet, puback1b_packet, "puback1b")
|
||||
mosq_test.do_send_receive(sock, publish2b_packet, puback2b_packet, "puback2b")
|
||||
mosq_test.do_send_receive(sock, publish3b_packet, puback3b_packet, "puback3b")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
return do_test(start_broker)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test()
|
||||
|
||||
@@ -32,7 +32,7 @@ def registerOfflineSubscriber():
|
||||
client.disconnect()
|
||||
|
||||
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
class BrokerMonitor(threading.Thread):
|
||||
def __init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None):
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
mid = 19
|
||||
connect_packet = mqtt_packets.gen_connect("03-pub-qos1-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -17,35 +16,13 @@ def do_test(start_broker, proto_ver):
|
||||
puback_packet = mqtt_packets.gen_puback(mid, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
connect_packet = mqtt_packets.gen_connect("03-pub-qos2-dup-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
@@ -14,44 +13,23 @@ def do_test(proto_ver):
|
||||
disconnect_packet = mqtt_packets.gen_disconnect(reason_code=130, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec 1")
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec 2")
|
||||
if proto_ver == 5:
|
||||
mosq_test.do_send_receive(sock, publish_packet, disconnect_packet, "disconnect")
|
||||
rc = 0
|
||||
else:
|
||||
try:
|
||||
mosq_test.do_send_receive(sock, publish_packet, b"", "disconnect1")
|
||||
rc = 0
|
||||
except BrokenPipeError:
|
||||
rc = 0
|
||||
pass
|
||||
|
||||
sock.close()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
broker.wait()
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests():
|
||||
rc = do_test(proto_ver=4)
|
||||
if rc:
|
||||
return rc;
|
||||
rc = do_test(proto_ver=5)
|
||||
if rc:
|
||||
return rc;
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests()
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -7,13 +7,12 @@ from mosq_test_helper import *
|
||||
def do_test(proto_ver):
|
||||
port = mosq_test.get_port()
|
||||
|
||||
rc = 1
|
||||
connect_packet = mqtt_packets.gen_connect("pub-qos2-inflight-exceeded", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port, timeout=10)
|
||||
|
||||
for i in range(1, 21):
|
||||
@@ -31,27 +30,9 @@ def do_test(proto_ver):
|
||||
mosq_test.do_send_receive(sock, publish_packet, disconnect_packet, "disconnect")
|
||||
except BrokenPipeError:
|
||||
pass
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
return rc
|
||||
|
||||
|
||||
def all_test():
|
||||
rc = do_test(proto_ver=4)
|
||||
if rc:
|
||||
return rc
|
||||
rc = do_test(proto_ver=5)
|
||||
return rc
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(all_test())
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(proto_ver):
|
||||
rc = 1
|
||||
connect_packet = mqtt_packets.gen_connect("pub-qos2-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
@@ -27,9 +26,8 @@ def do_test(proto_ver):
|
||||
publish_packet_expected = mqtt_packets.gen_publish("pub/qos2/reuse", qos=2, mid=mid, payload="message", proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
ssock = mosq_test.do_client_connect(sub_connect_packet, sub_connack_packet, port=port)
|
||||
mosq_test.do_send_receive(ssock, subscribe_packet, suback_packet, "suback")
|
||||
|
||||
@@ -39,23 +37,9 @@ def do_test(proto_ver):
|
||||
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
|
||||
|
||||
mosq_test.expect_packet(ssock, "publish", publish_packet_expected)
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
|
||||
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
exit(0)
|
||||
if __name__ == '__main__':
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(port, proto_ver):
|
||||
connect_packet = mqtt_packets.gen_connect("03-pub-qos2-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
@@ -15,36 +14,16 @@ def do_test(start_broker, proto_ver):
|
||||
pubrel_packet = mqtt_packets.gen_pubrel(mid, proto_ver=proto_ver)
|
||||
pubcomp_packet = mqtt_packets.gen_pubcomp(mid, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec")
|
||||
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
|
||||
sock.close()
|
||||
|
||||
try:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, publish_packet, pubrec_packet, "pubrec")
|
||||
mosq_test.do_send_receive(sock, pubrel_packet, pubcomp_packet, "pubcomp")
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
port = mosq_test.get_port()
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
with broker:
|
||||
do_test(port=port, proto_ver=4)
|
||||
do_test(port=port, proto_ver=5)
|
||||
|
||||
@@ -16,7 +16,6 @@ def send_retain(port, topic, payload):
|
||||
sock.close()
|
||||
|
||||
def do_test():
|
||||
rc = 1
|
||||
connect_packet = mqtt_packets.gen_connect("retain-clear-test")
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0)
|
||||
|
||||
@@ -28,9 +27,8 @@ def do_test():
|
||||
retain3_packet = mqtt_packets.gen_publish("1", qos=0, payload="retained message", retain=True)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
send_retain(port, "1/2/3/4/5/6/7", "retained message")
|
||||
send_retain(port, "1/2/3/4", "retained message")
|
||||
send_retain(port, "1", "retained message")
|
||||
@@ -64,16 +62,6 @@ def do_test():
|
||||
mosq_test.do_ping(sock)
|
||||
sock.close()
|
||||
|
||||
rc = 0
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
mosq_test.terminate_broker(broker)
|
||||
broker.wait()
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
exit(rc)
|
||||
|
||||
do_test()
|
||||
exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
do_test()
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
connect_packet = mqtt_packets.gen_connect("retain-qos0-clear-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
|
||||
@@ -22,10 +21,8 @@ def do_test(start_broker, proto_ver):
|
||||
unsuback_packet = mqtt_packets.gen_unsuback(mid_unsub, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=4, port=port)
|
||||
# Send retained message
|
||||
sock.send(publish_packet)
|
||||
@@ -47,28 +44,9 @@ def do_test(start_broker, proto_ver):
|
||||
# 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:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
from mosq_test_helper import *
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
mid = 16
|
||||
connect_packet = mqtt_packets.gen_connect("retain-qos0-fresh", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -18,36 +17,15 @@ def do_test(start_broker, proto_ver):
|
||||
|
||||
publish_packet_clear = mqtt_packets.gen_publish("retain/qos0/fresh", qos=0, payload=None, retain=True, proto_ver=proto_ver)
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
||||
try:
|
||||
broker = MosquittoBroker(port=port)
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
mosq_test.do_send_receive(sock, publish_packet, publish_fresh_packet, "publish")
|
||||
sock.send(publish_packet_clear)
|
||||
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
from mosq_test_helper import *
|
||||
|
||||
|
||||
def do_test(start_broker, proto_ver):
|
||||
rc = 1
|
||||
def do_test(proto_ver):
|
||||
mid = 16
|
||||
connect_packet = mqtt_packets.gen_connect("retain-qos0-rep-test", proto_ver=proto_ver)
|
||||
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=proto_ver)
|
||||
@@ -21,10 +20,9 @@ def do_test(start_broker, proto_ver):
|
||||
unsuback_packet = mqtt_packets.gen_unsuback(unsub_mid, proto_ver=proto_ver)
|
||||
|
||||
port = mosq_test.get_port()
|
||||
if start_broker:
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
broker = MosquittoBroker(port=port)
|
||||
|
||||
try:
|
||||
with broker:
|
||||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, timeout=20, port=port)
|
||||
sock.send(publish_packet)
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
@@ -34,27 +32,9 @@ def do_test(start_broker, proto_ver):
|
||||
mosq_test.do_send_receive(sock, subscribe_packet, suback_packet, "suback")
|
||||
|
||||
mosq_test.expect_packet(sock, "publish", publish_packet)
|
||||
rc = 0
|
||||
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
pass
|
||||
finally:
|
||||
if start_broker:
|
||||
mosq_test.terminate_broker(broker)
|
||||
if mosq_test.wait_for_subprocess(broker):
|
||||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
if rc:
|
||||
exit(rc)
|
||||
|
||||
|
||||
def all_tests(start_broker=False):
|
||||
do_test(start_broker, proto_ver=4)
|
||||
do_test(start_broker, proto_ver=5)
|
||||
|
||||
if __name__ == '__main__':
|
||||
all_tests(True)
|
||||
do_test(proto_ver=4)
|
||||
do_test(proto_ver=5)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user