From 9d00eab64ca6b2ed8491a9b601ad0c19a063afa7 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Thu, 23 Jun 2016 17:33:19 +0000 Subject: [PATCH] tests: support generating longer publish packets Remaining length for publish packets wasn't being handled completely. Signed-off-by: Karl Palsson --- test/mosq_test.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/mosq_test.py b/test/mosq_test.py index 1887e7bb..c985a494 100644 --- a/test/mosq_test.py +++ b/test/mosq_test.py @@ -306,7 +306,7 @@ def gen_connack(resv=0, rc=0): def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0): rl = 2+len(topic) - pack_format = "!BBH"+str(len(topic))+"s" + pack_format = "H"+str(len(topic))+"s" if qos > 0: rl = rl + 2 pack_format = pack_format + "H" @@ -317,6 +317,7 @@ def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0): payload = "" pack_format = pack_format + "0s" + rlpacked = pack_remaining_length(rl) cmd = 48 | (qos<<1) if retain: cmd = cmd + 1 @@ -324,9 +325,9 @@ def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0): cmd = cmd + 8 if qos > 0: - return struct.pack(pack_format, cmd, rl, len(topic), topic, mid, payload) + return struct.pack("!B" + str(len(rlpacked))+"s" + pack_format, cmd, rlpacked, len(topic), topic, mid, payload) else: - return struct.pack(pack_format, cmd, rl, len(topic), topic, payload) + return struct.pack("!B" + str(len(rlpacked))+"s" + pack_format, cmd, rlpacked, len(topic), topic, payload) def gen_puback(mid): return struct.pack('!BBH', 64, 2, mid)