mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-08-18 11:45:08 +08:00
Add broker/client per packet type tests for overlong remaining length
This commit is contained in:
@@ -9,7 +9,8 @@
|
||||
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 r0"}]},
|
||||
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 r0"}]},
|
||||
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 r0"}]},
|
||||
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 r0"}]}
|
||||
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 r0"}]},
|
||||
{ "name": "F0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"F0 r268435456"}]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "F0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"F0 00"}]},
|
||||
{ "name": "F0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"F0 r268435456"}]},
|
||||
{ "name": "F0 long", "msgs": [
|
||||
{"type":"send", "payload":"F0 r1 00"},
|
||||
{"type":"recv", "payload":"E0 r1 82"}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "20 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"20 r2 00 00"}]},
|
||||
{ "name": "20 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"20 r268435456"}]},
|
||||
{ "name": "20 long", "msgs": [{"type":"send", "payload":"20 r3 00 00 00"}]},
|
||||
{ "name": "20 short 1", "msgs": [{"type":"send", "payload":"20 r1 00"}]},
|
||||
{ "name": "20 short 0", "msgs": [{"type":"send", "payload":"20 r0"}]},
|
||||
@@ -30,6 +31,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "20 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"20 r3 00 00 00"}]},
|
||||
{ "name": "20 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"20 r268435456"}]},
|
||||
{ "name": "20 with properties", "msgs": [
|
||||
{"type":"send", "payload":"20 r6 00 00 03 21 000A"},
|
||||
{"type":"recv", "payload":"E0 r1 82"}
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
{ "name": "10 ok", "expect_disconnect":false, "msgs":[
|
||||
{"type":"send", "payload":"10 r15 s6 'MQIsdp' 03 02 k10 s1 'p'", "comment":"CONNECT clean session true, no client id"},
|
||||
{"type":"recv", "payload":"20 r2 00 00", "comment": "CONNACK"}
|
||||
]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[
|
||||
{"type":"send", "payload":"10 r268435456 s6 'MQIsdp' 03 02 k10 s1 'p'", "comment":"minimal valid CONNECT"}
|
||||
]}
|
||||
]
|
||||
},
|
||||
@@ -63,7 +66,7 @@
|
||||
{"type":"recv", "payload":"20 r3 00 84 00", "comment": "v3.1.1 CONNACK identifier rejected"}
|
||||
]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[
|
||||
{"type":"send", "payload":"10 FFFFFFFF7F s4 'MQTT' 06 00 k10 s1 'p'", "comment":"CONNECT"}
|
||||
{"type":"send", "payload":"10 r268435456 s4 'MQTT' 05 02 k10 s1 'p'", "comment":"CONNECT"}
|
||||
]},
|
||||
{ "name": "11", "msgs":[{"type":"send", "payload":"11 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
{ "name": "12", "msgs":[{"type":"send", "payload":"12 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
@@ -144,6 +147,9 @@
|
||||
{"type":"send", "payload":"10 r14 s4 'MQTT' 05 02 k10 v0 s1 'p'", "comment":"minimal valid CONNECT"},
|
||||
{"type":"recv", "payload":"20 r9 00 00 06 22 H10 21 H20", "comment": "CONNACK"}
|
||||
]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[
|
||||
{"type":"send", "payload":"10 r268435456 s4 'MQTT' 05 02 k10 s1 'p'", "comment":"CONNECT"}
|
||||
]},
|
||||
{ "name": "10 Username flag 1 ok", "expect_disconnect":false, "msgs":[
|
||||
{"type":"send", "payload":"10 r17 s4 'MQTT' 05 82 k10 v0 s1 'p' s1 'p'"},
|
||||
{"type":"recv", "payload":"20 r9 00 00 06 22 H10 21 H20", "comment": "CONNACK"}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "E0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"E0 r268435456"}]},
|
||||
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
|
||||
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "E0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"E0 r268435456"}]},
|
||||
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
|
||||
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "00 first packet", "connect": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
|
||||
{ "name": "00 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"00 r268435456"}]},
|
||||
{ "name": "01 first packet", "connect": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
|
||||
{ "name": "02 first packet", "connect": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
|
||||
{ "name": "04 first packet", "connect": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
|
||||
@@ -21,6 +22,10 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "00 first packet", "connect": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
|
||||
{ "name": "00 remaining length 5 bytes", "msgs":[
|
||||
{"type":"send", "payload":"00 r268435456"},
|
||||
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
|
||||
]},
|
||||
{ "name": "01 first packet", "connect": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
|
||||
{ "name": "02 first packet", "connect": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
|
||||
{ "name": "04 first packet", "connect": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
|
||||
{ "name": "C0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"C0 r268435456"}]},
|
||||
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C00100"}]},
|
||||
{ "name": "C0 valid", "expect_disconnect": false, "msgs": [{"type":"send", "payload":"C0 r0"}, {"type":"recv", "payload":"D0 00"}]},
|
||||
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
|
||||
{ "name": "C0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"C0 r268435456"}]},
|
||||
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 r1 00"}]},
|
||||
{ "name": "C0 valid", "expect_disconnect": false, "msgs": [{"type":"send", "payload":"C0 r0"}, {"type":"recv", "payload":"D0 00"}]},
|
||||
{ "name": "C1", "msgs": [
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "D0 [MQTT-3.1.0-1]", "connect": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"D0 r268435456"}]},
|
||||
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
|
||||
{ "name": "D0", "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "D0 [MQTT-3.1.0-1]", "connect": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"D0 r268435456"}]},
|
||||
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
|
||||
{ "name": "D0", "msgs": [
|
||||
{"type":"send", "payload":"D0 r0"},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "40 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"40 r2 m1"}]},
|
||||
{ "name": "40 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"40 r268435456"}]},
|
||||
{ "name": "40 unsolicited long", "msgs": [{"type":"send", "payload":"40 r3 m1 00"}]},
|
||||
{ "name": "40 unsolicited mid 0", "msgs": [{"type":"send", "payload":"40 r2 m0"}]},
|
||||
{ "name": "40 unsolicited short 0", "msgs": [{"type":"send", "payload":"40 r0"}]},
|
||||
@@ -20,6 +21,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "40 [MQTT-3.1.0-1] (no reason code)", "connect":false, "msgs": [{"type":"send", "payload":"40 r2 m1"}]},
|
||||
{ "name": "40 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"40 r268435456"}]},
|
||||
{ "name": "40 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"40 r3 m1 00"}]},
|
||||
{ "name": "40 unsolicited long", "msgs": [
|
||||
{"type":"send", "payload":"40 r5 m1 00 00 00"},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "70 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"70 r2 m1"}]},
|
||||
{ "name": "70 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"70 r268435456"}]},
|
||||
{ "name": "70 unsolicited long", "msgs": [{"type":"send", "payload":"70 r3 m1 00"}]},
|
||||
{ "name": "70 unsolicited mid 0", "msgs": [{"type":"send", "payload":"70 r2 m0"}]},
|
||||
{ "name": "70 unsolicited short 0", "msgs": [{"type":"send", "payload":"70 r0"}]},
|
||||
@@ -20,6 +21,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "70 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"70 r2 m1"}]},
|
||||
{ "name": "70 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"70 r268435456"}]},
|
||||
{ "name": "70 unsolicited long", "msgs": [
|
||||
{"type":"send", "payload":"70 r5 m1 00 00 00"},
|
||||
{"type":"recv", "payload":"E0 r1 81"}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "30 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"30 r14 s5 'topic' 'payload'"}]},
|
||||
{ "name": "30 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"30 r268435456"}]},
|
||||
{ "name": "30", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r14 s5 'topic' 'payload'"}]},
|
||||
{ "name": "31 retain 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r14 s5 'topic' 'payload'"}]},
|
||||
{ "name": "31 retain 1 zero length", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r7 s5 'topic'"}]},
|
||||
@@ -58,6 +59,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "30 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"}]},
|
||||
{ "name": "30 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"30 r268435456"}]},
|
||||
{ "name": "30", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"}]},
|
||||
{ "name": "31 retain 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r15 s5 'topic' v0 'payload'"}]},
|
||||
{ "name": "31 retain 1 zero length", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r8 s5 'topic' v0"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "50 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"50 r2 m1"}]},
|
||||
{ "name": "50 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"50 r268435456"}]},
|
||||
{ "name": "50 unsolicited", "expect_disconnect":false, "msgs": [
|
||||
{"type":"send", "payload":"50 r2 m1"},
|
||||
{"type":"recv", "payload":"62 r2 m1"}
|
||||
@@ -23,6 +24,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "50 [MQTT-3.1.0-1] (no reason code)", "connect":false, "msgs": [{"type":"send", "payload":"50 r2 m1"}]},
|
||||
{ "name": "50 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"50 r268435456"}]},
|
||||
{ "name": "50 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"50 r3 m1 00"}]},
|
||||
{ "name": "50 unsolicited long", "msgs": [
|
||||
{"type":"send", "payload":"50 r5 m1 00 00 00"},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "62 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"62 r2 m1"}]},
|
||||
{ "name": "62 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"62 r268435456"}]},
|
||||
{ "name": "62 unsolicited", "expect_disconnect":false, "msgs": [
|
||||
{"type":"send", "payload":"62 r2 m1"},
|
||||
{"type":"recv", "payload":"70 r2 m1"}
|
||||
@@ -23,6 +24,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "62 [MQTT-3.1.0-1] (no reason code)", "connect":false, "msgs": [{"type":"send", "payload":"62 r2 m1"}]},
|
||||
{ "name": "62 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"62 r268435456"}]},
|
||||
{ "name": "62 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"62 r3 m1 00"}]},
|
||||
{ "name": "62 unsolicited long", "msgs": [
|
||||
{"type":"send", "payload":"62 r5 m1 00 00 00"},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "90 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"90 r3 m1 00"}]},
|
||||
{ "name": "90 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"90 r268435456"}]},
|
||||
{ "name": "90 mid 0", "msgs": [{"type":"send", "payload":"90 r3 m0 00"}]},
|
||||
{ "name": "90", "msgs": [{"type":"send", "payload":"90 r3 m1 00"}]},
|
||||
{ "name": "90 short 0", "msgs": [{"type":"send", "payload":"90 r0"}]},
|
||||
@@ -20,6 +21,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "90 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"90 r3 m1 00"}]},
|
||||
{ "name": "90 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"90 r268435456"}]},
|
||||
{ "name": "90 long", "msgs": [
|
||||
{"type":"send", "payload":"90 r4 m1 00 00"},
|
||||
{"type":"recv", "payload":"E0 r1 82"}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "82 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 00"}]},
|
||||
{ "name": "82 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"82 r268435456"}]},
|
||||
{ "name": "80", "msgs": [{"type":"send", "payload":"80061234 s1 'p' 00"}]},
|
||||
{ "name": "83 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"83 r6 m1234 s1 'p' 00"}]},
|
||||
{ "name": "84 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"84 r6 m1234 s1 'p' 00"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "B0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
|
||||
{ "name": "B0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"B0 r268435456"}]},
|
||||
{ "name": "B0 multi", "msgs": [{"type":"send", "payload":"B0 r3 m1 00"}]},
|
||||
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
|
||||
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
|
||||
@@ -19,6 +20,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "B0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"B0 r3 m1 00"}]},
|
||||
{ "name": "B0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"B0 r268435456"}]},
|
||||
{ "name": "B0 multi", "msgs": [
|
||||
{"type":"send", "payload":"B0 r4 m1 v0 00"},
|
||||
{"type":"recv", "payload":"E0 r1 82"}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "A2 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"A2 r5 m1234 s1 'p'"}]},
|
||||
{ "name": "A2 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"A2 r268435456"}]},
|
||||
{ "name": "A2 (no subscribe) [MQTT-3.10.4-5]", "expect_disconnect":false, "msgs": [
|
||||
{"type":"send", "payload":"A2 r5 m1234 s1 'p'"},
|
||||
{"type":"recv", "payload":"B0 r2 m1234"}
|
||||
@@ -45,6 +46,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "A2 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"A2 r6 m1234 00 s1 'p'"}]},
|
||||
{ "name": "A2 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"A2 r268435456"}]},
|
||||
{ "name": "A2 (no subscribe) [MQTT-3.10.4-5]", "expect_disconnect":false, "msgs": [
|
||||
{"type":"send", "payload":"A2 r6 m1234 v0 s1 'p'"},
|
||||
{"type":"recv", "payload":"B0 r4 m1234 v0 11"}
|
||||
|
||||
@@ -159,9 +159,17 @@ def parse_message(message):
|
||||
# General variable length integer
|
||||
# Or 'r' remaining length
|
||||
v = int(parts[i][1:])
|
||||
if v > 255:
|
||||
raise ValueError("Variable length > 255 needs implementing")
|
||||
b += v.to_bytes(length=1, byteorder='big', signed=False)
|
||||
|
||||
# This allows non-compliant values >=2^28
|
||||
while True:
|
||||
byte = v % 128
|
||||
v = v // 128
|
||||
|
||||
if v > 0:
|
||||
byte = byte | 0x80
|
||||
b += byte.to_bytes(length=1, byteorder='big', signed=False)
|
||||
if v == 0:
|
||||
break
|
||||
else:
|
||||
# hex
|
||||
try:
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "F0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"F0 r0"}]},
|
||||
{ "name": "F0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"F0 r268435456"}]},
|
||||
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 r1 00"}]},
|
||||
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 r0"}]},
|
||||
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "F0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"F0 r0"}]},
|
||||
{ "name": "F0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"F0 r268435456"}]},
|
||||
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 r1 00"}]},
|
||||
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 r0"}]},
|
||||
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 r0"}]},
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "20 [MQTT-3.1.0-1]", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r2 00 00"}]},
|
||||
{ "name": "20 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"20 r268435456"}]},
|
||||
{ "name": "20 long", "msgs": [{"type":"send", "payload":"20 r3 00 00 00"}]},
|
||||
{ "name": "20 short 1", "msgs": [{"type":"send", "payload":"20 r1 00"}]},
|
||||
{ "name": "20 short 0", "msgs": [{"type":"send", "payload":"20 r0"}]},
|
||||
@@ -32,6 +33,7 @@
|
||||
"connack": false,
|
||||
"tests": [
|
||||
{ "name": "20 [MQTT-3.1.0-1]", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r3 00 00 v0"}]},
|
||||
{ "name": "20 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"20 r268435456"}]},
|
||||
{ "name": "20 with properties", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 21 H10"}]},
|
||||
{ "name": "20 long", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r4 00 00 00 00"}]},
|
||||
{ "name": "20 short 2", "msgs": [{"type":"send", "payload":"20 r2 00 00"}]},
|
||||
|
||||
+15
-12
@@ -4,9 +4,10 @@
|
||||
"ver":3,
|
||||
"tests": [
|
||||
{ "name": "10 ok ", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 03 01 k10 s1 'p'", "comment":"minimal valid CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 r268435456"}]},
|
||||
{ "name": "14 ok ", "msgs":[{"type":"send", "payload":"14 r15 s6 'MQIsdp' 03 01 k10 s1 'p'", "comment":"CONNECT with QoS=1"}]},
|
||||
{ "name": "10 proto ver 2", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 02 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 06 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 2", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 02 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 06 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 empty client ID", "msgs":[{"type":"send", "payload":"10 r14 s6 'MQIsdp' 03 02 k10 0000", "comment":"CONNECT clean session true, no client id"}]},
|
||||
{ "name": "10 ok", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 03 02 k10 s1 'p'", "comment":"CONNECT clean session true, no client id"}]}
|
||||
]
|
||||
@@ -17,9 +18,10 @@
|
||||
"connack":false,
|
||||
"tests": [
|
||||
{ "name": "10 ok ", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 03 01 k10 s1 'p'", "comment":"minimal valid CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 r268435456"}]},
|
||||
{ "name": "14 ok ", "msgs":[{"type":"send", "payload":"14 r15 s6 'MQIsdp' 03 01 k10 s1 'p'", "comment":"CONNECT with QoS=1"}]},
|
||||
{ "name": "10 proto ver 2", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 02 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 06 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 2", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 02 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 06 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 empty client ID", "msgs":[{"type":"send", "payload":"10 r14 s6 'MQIsdp' 03 02 k10 s0", "comment":"CONNECT clean session true, no client id"}]},
|
||||
{ "name": "10 ok", "msgs":[{"type":"send", "payload":"10 r15 s6 'MQIsdp' 03 02 k10 s1 'p'", "comment":"CONNECT clean session true, no client id"}]}
|
||||
]
|
||||
@@ -29,12 +31,13 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "10 ok ", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 04 02 k10 s1 'p'", "comment":"minimal valid CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 r268435456"}]},
|
||||
{ "name": "10 missing client ID", "msgs":[{"type":"send", "payload":"10 r8 s4 'MQTT' 04 02 000A"}]},
|
||||
{ "name": "10 empty client ID", "msgs":[{"type":"send", "payload":"10 r12 s4 'MQTT' 04 02 k10 0000", "comment":"CONNECT clean session true, no client id"}]},
|
||||
{ "name": "10 empty client ID clean false [MQTT-3.1.3-7]", "msgs":[{"type":"send", "payload":"10 r12 s4 'MQTT' 04 00 k10 s0", "comment":"CONNECT clean session false, no client id"}]},
|
||||
{ "name": "10 proto ver 2 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 02 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 06 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 FFFFFFFF7F s4 'MQTT' 06 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 empty client ID clean false [MQTT-3.1.3-7]", "msgs":[{"type":"send", "payload":"10 r12 s4 'MQTT' 04 02 k10 s0", "comment":"CONNECT clean session false, no client id"}]},
|
||||
{ "name": "10 proto ver 2 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 02 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 06 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 FFFFFFFF7F s4 'MQTT' 05 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "11", "msgs":[{"type":"send", "payload":"11 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
{ "name": "12", "msgs":[{"type":"send", "payload":"12 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
{ "name": "14", "msgs":[{"type":"send", "payload":"14 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
@@ -90,10 +93,10 @@
|
||||
{ "name": "10 ok ", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 04 02 k10 s1 'p'", "comment":"minimal valid CONNECT"}]},
|
||||
{ "name": "10 missing client ID", "msgs":[{"type":"send", "payload":"10 r8 s4 'MQTT' 04 02 k10"}]},
|
||||
{ "name": "10 empty client ID", "msgs":[{"type":"send", "payload":"10 r12 s4 'MQTT' 04 02 k10 s0", "comment":"CONNECT clean session true, no client id"}]},
|
||||
{ "name": "10 empty client ID clean false [MQTT-3.1.3-7]", "msgs":[{"type":"send", "payload":"10 r12 s4 'MQTT' 04 00 k10 s0", "comment":"CONNECT clean session false, no client id"}]},
|
||||
{ "name": "10 proto ver 2 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 02 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 06 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 FFFFFFFF7F s4 'MQTT' 06 00 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 empty client ID clean false [MQTT-3.1.3-7]", "msgs":[{"type":"send", "payload":"10 r12 s4 'MQTT' 04 02 k10 s0", "comment":"CONNECT clean session false, no client id"}]},
|
||||
{ "name": "10 proto ver 2 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 02 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 proto ver 6 [MQTT-3.1.2-2]", "msgs":[{"type":"send", "payload":"10 r13 s4 'MQTT' 06 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "10 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"10 FFFFFFFF7F s4 'MQTT' 05 02 k10 s1 'p'", "comment":"CONNECT"}]},
|
||||
{ "name": "11", "msgs":[{"type":"send", "payload":"11 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
{ "name": "12", "msgs":[{"type":"send", "payload":"12 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
{ "name": "14", "msgs":[{"type":"send", "payload":"14 r13 s4 'MQTT' 04 02 k10 s1 'p'"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "E0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"E0 r268435456"}]},
|
||||
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
|
||||
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "E0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"E0 r268435456"}]},
|
||||
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
|
||||
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 r0"}]},
|
||||
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 r0"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "00 first packet", "connack": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
|
||||
{ "name": "00 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"00 r268435456"}]},
|
||||
{ "name": "01 first packet", "connack": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
|
||||
{ "name": "02 first packet", "connack": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
|
||||
{ "name": "04 first packet", "connack": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
|
||||
@@ -21,6 +22,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "00 first packet", "connack": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
|
||||
{ "name": "00 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"00 r268435456"}]},
|
||||
{ "name": "01 first packet", "connack": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
|
||||
{ "name": "02 first packet", "connack": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
|
||||
{ "name": "04 first packet", "connack": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "C0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
|
||||
{ "name": "C0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"C0 r268435456"}]},
|
||||
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 r1 00"}]},
|
||||
{ "name": "C0 valid", "msgs": [{"type":"send", "payload":"C0 00"}]},
|
||||
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
|
||||
{ "name": "C0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"C0 r268435456"}]},
|
||||
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 r1 00"}]},
|
||||
{ "name": "C0 valid", "msgs": [{"type":"send", "payload":"C0 r0"}]},
|
||||
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 r0"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "D0 [MQTT-3.1.0-1]", "connack": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"D0 r268435456"}]},
|
||||
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
|
||||
{ "name": "D0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 r0"}]},
|
||||
@@ -17,6 +18,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "D0 [MQTT-3.1.0-1]", "connack": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"D0 r268435456"}]},
|
||||
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
|
||||
{ "name": "D0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
|
||||
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 r0"}]},
|
||||
|
||||
+10
-24
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "40 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"40 r2 m1"}]},
|
||||
{ "name": "40 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"40 r268435456"}]},
|
||||
{ "name": "40 long", "msgs": [{"type":"send", "payload":"40 r3 m1 00"}]},
|
||||
{ "name": "40 mid 0", "msgs": [{"type":"send", "payload":"40 r2 m0"}]},
|
||||
{ "name": "40 short 0", "msgs": [{"type":"send", "payload":"40 r0"}]},
|
||||
@@ -23,30 +24,15 @@
|
||||
{"type":"recv", "payload":"32 r23 s12 'test/publish' m1 'message'"}
|
||||
],
|
||||
"tests": [
|
||||
{ "name": "40 long", "msgs": [
|
||||
{"type":"send", "payload":"40 r3 m1 00"}
|
||||
]},
|
||||
{ "name": "40 mid 0", "msgs": [
|
||||
{"type":"send", "payload":"40 r2 m0"}
|
||||
]},
|
||||
{ "name": "40 short 0", "msgs": [
|
||||
{"type":"send", "payload":"40 r0"}
|
||||
]},
|
||||
{ "name": "40 short 1", "msgs": [
|
||||
{"type":"send", "payload":"40 r1 01"}
|
||||
]},
|
||||
{ "name": "41", "msgs": [
|
||||
{"type":"send", "payload":"41 r2 m1"}
|
||||
]},
|
||||
{ "name": "42", "msgs": [
|
||||
{"type":"send", "payload":"42 r2 m1"}
|
||||
]},
|
||||
{ "name": "44", "msgs": [
|
||||
{"type":"send", "payload":"44 r2 m1"}
|
||||
]},
|
||||
{ "name": "48", "msgs": [
|
||||
{"type":"send", "payload":"48 r2 m1"}
|
||||
]}
|
||||
{ "name": "40 long", "msgs": [{"type":"send", "payload":"40 r3 m1 00"}]},
|
||||
{ "name": "40 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"40 r268435456"}]},
|
||||
{ "name": "40 mid 0", "msgs": [{"type":"send", "payload":"40 r2 m0"}]},
|
||||
{ "name": "40 short 0", "msgs": [{"type":"send", "payload":"40 r0"}]},
|
||||
{ "name": "40 short 1", "msgs": [{"type":"send", "payload":"40 r1 01"}]},
|
||||
{ "name": "41", "msgs": [{"type":"send", "payload":"41 r2 m1"}]},
|
||||
{ "name": "42", "msgs": [{"type":"send", "payload":"42 r2 m1"}]},
|
||||
{ "name": "44", "msgs": [{"type":"send", "payload":"44 r2 m1"}]},
|
||||
{ "name": "48", "msgs": [{"type":"send", "payload":"48 r2 m1"}]}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "30 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"30 r14 s5 'topic' 'payload'"}]},
|
||||
{ "name": "30 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"30 r268435456"}]},
|
||||
{ "name": "30", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r14 s5 'topic' 'payload'"}]},
|
||||
{ "name": "31 retain 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r14 s5 'topic' 'payload'"}]},
|
||||
{ "name": "31 retain 1 zero length", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r7 s5 'topic'"}]},
|
||||
@@ -50,6 +51,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "30 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"}]},
|
||||
{ "name": "30 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"30 r268435456"}]},
|
||||
{ "name": "30", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"}]},
|
||||
{ "name": "31 retain 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r15 s5 'topic' 00 'payload'"}]},
|
||||
{ "name": "31 retain 1 zero length", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r8 s5 'topic' 00"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "50 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"50 r2 m1"}]},
|
||||
{ "name": "50 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"50 r268435456"}]},
|
||||
{ "name": "50", "expect_disconnect":false, "msgs": [
|
||||
{"type":"send", "payload":"50 r2 m1"},
|
||||
{"type":"recv", "payload":"62 r2 m1"}
|
||||
@@ -30,6 +31,7 @@
|
||||
{"type":"send", "payload":"50 r2 m1"},
|
||||
{"type":"recv", "payload":"62 r2 m1"}
|
||||
]},
|
||||
{ "name": "50 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"50 r268435456"}]},
|
||||
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 r3 m1 00"}]},
|
||||
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 r2 m0"}]},
|
||||
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 r0"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "82 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 00"}]},
|
||||
{ "name": "82 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"82 r268435456"}]},
|
||||
{ "name": "80", "msgs": [{"type":"send", "payload":"80 r6 m1234 s1 'p' 00"}]},
|
||||
{ "name": "83 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"83 r6 m1234 s1 'p' 00"}]},
|
||||
{ "name": "84 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"84 r6 m1234 s1 'p' 00"}]},
|
||||
@@ -46,6 +47,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "82 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 00"}]},
|
||||
{ "name": "82 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"82 r268435456"}]},
|
||||
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 00"}]},
|
||||
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 01"}]},
|
||||
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 02"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "B0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
|
||||
{ "name": "B0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"B0 r268435456"}]},
|
||||
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
|
||||
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
|
||||
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
|
||||
@@ -21,6 +22,7 @@
|
||||
{"type":"recv", "payload":"A2 r18 m1 s14 'test/subscribe'"}
|
||||
],
|
||||
"tests": [
|
||||
{ "name": "B0 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"B0 r268435456"}]},
|
||||
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
|
||||
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
|
||||
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"ver":4,
|
||||
"tests": [
|
||||
{ "name": "A2 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"A2 r5 m1234 s1 'p'"}]},
|
||||
{ "name": "A2 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"A2 r268435456"}]},
|
||||
{ "name": "A2 (no subscribe) [MQTT-3.10.4-5]", "msgs": [{"type":"send", "payload":"A2 r5 m1234 s1 'p'"}]},
|
||||
{ "name": "A2 multiple [MQTT-3.10.4-6]", "msgs": [{"type":"send", "payload":"A2 r8 m1234 s1 'p' s1 'q'"}]},
|
||||
{ "name": "A2 multiple zero 1st", "msgs": [{"type":"send", "payload":"A2 r7 m1234 s0 s1 'q'"}]},
|
||||
@@ -33,6 +34,7 @@
|
||||
"ver":5,
|
||||
"tests": [
|
||||
{ "name": "A2 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"A2 r6 m1234 00 s1 'p'"}]},
|
||||
{ "name": "A2 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"A2 r268435456"}]},
|
||||
{ "name": "A2 [MQTT-3.10.4-5]", "msgs": [{"type":"send", "payload":"A2 r6 m1234 00 s1 'p'"}]},
|
||||
{ "name": "A2 multiple zero 1st", "msgs": [{"type":"send", "payload":"A2 r8 m1234 00 s0 s1 'q'"}]},
|
||||
{ "name": "A2 multiple zero 2nd", "msgs": [{"type":"send", "payload":"A2 r8 m1234 00 s1 'q' s0"}]},
|
||||
|
||||
@@ -219,9 +219,17 @@ def parse_message(message):
|
||||
# General variable length integer
|
||||
# Or 'r' remaining length
|
||||
v = int(parts[i][1:])
|
||||
if v > 255:
|
||||
raise ValueError("Variable length > 255 needs implementing")
|
||||
b += v.to_bytes(length=1, byteorder='big', signed=False)
|
||||
|
||||
# This allows non-compliant values >=2^28
|
||||
while True:
|
||||
byte = v % 128
|
||||
v = v // 128
|
||||
|
||||
if v > 0:
|
||||
byte = byte | 0x80
|
||||
b += byte.to_bytes(length=1, byteorder='big', signed=False)
|
||||
if v == 0:
|
||||
break
|
||||
else:
|
||||
# hex
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user