]> git.michaelhowe.org Git - packages/p/paho-mqtt.git/commitdiff
Fix tests.
authorRoger Light <roger@atchoo.org>
Sun, 16 Jun 2013 23:00:52 +0000 (00:00 +0100)
committerRoger Light <roger@atchoo.org>
Mon, 3 Feb 2014 21:16:18 +0000 (21:16 +0000)
--HG--
rename : test/mosq_test.py => test/paho_test.py

71 files changed:
test/lib/01-con-discon-success.py
test/lib/01-keepalive-pingreq.py
test/lib/01-no-clean-session.py
test/lib/01-unpwd-set.py
test/lib/01-will-set.py
test/lib/01-will-unpwd-set.py
test/lib/02-subscribe-qos0.py
test/lib/02-subscribe-qos1.py
test/lib/02-subscribe-qos2.py
test/lib/02-unsubscribe.py
test/lib/03-publish-b2c-qos1.py
test/lib/03-publish-b2c-qos2.py
test/lib/03-publish-c2b-qos1-disconnect.py
test/lib/03-publish-c2b-qos1-timeout.py
test/lib/03-publish-c2b-qos2-disconnect.py
test/lib/03-publish-c2b-qos2-timeout.py
test/lib/03-publish-qos0-no-payload.py
test/lib/03-publish-qos0.py
test/lib/04-retain-qos0.py
test/lib/08-ssl-bad-cacert.py
test/lib/08-ssl-connect-cert-auth.py
test/lib/08-ssl-connect-no-auth.py
test/lib/09-util-topic-matching.py
test/lib/python/01-con-discon-success.test
test/lib/python/01-keepalive-pingreq.test
test/lib/python/01-no-clean-session.test
test/lib/python/01-unpwd-set.test
test/lib/python/01-will-set.test
test/lib/python/01-will-unpwd-set.test
test/lib/python/02-subscribe-qos0.test
test/lib/python/02-subscribe-qos1.test
test/lib/python/02-subscribe-qos2.test
test/lib/python/02-unsubscribe.test
test/lib/python/03-publish-b2c-qos1.test
test/lib/python/03-publish-b2c-qos2.test
test/lib/python/03-publish-c2b-qos1-disconnect.test
test/lib/python/03-publish-c2b-qos1-timeout.test
test/lib/python/03-publish-c2b-qos2-disconnect.test
test/lib/python/03-publish-c2b-qos2-timeout.test
test/lib/python/03-publish-qos0-no-payload.test
test/lib/python/03-publish-qos0.test
test/lib/python/04-retain-qos0.test
test/lib/python/08-ssl-bad-cacert.test
test/lib/python/08-ssl-connect-cert-auth.test
test/lib/python/08-ssl-connect-no-auth.test
test/lib/python/09-util-topic-matching.test
test/lib/python3/01-con-discon-success.test
test/lib/python3/01-keepalive-pingreq.test
test/lib/python3/01-no-clean-session.test
test/lib/python3/01-unpwd-set.test
test/lib/python3/01-will-set.test
test/lib/python3/01-will-unpwd-set.test
test/lib/python3/02-subscribe-qos0.test
test/lib/python3/02-subscribe-qos1.test
test/lib/python3/02-subscribe-qos2.test
test/lib/python3/02-unsubscribe.test
test/lib/python3/03-publish-b2c-qos1.test
test/lib/python3/03-publish-b2c-qos2.test
test/lib/python3/03-publish-c2b-qos1-disconnect.test
test/lib/python3/03-publish-c2b-qos1-timeout.test
test/lib/python3/03-publish-c2b-qos2-disconnect.test
test/lib/python3/03-publish-c2b-qos2-timeout.test
test/lib/python3/03-publish-qos0-no-payload.test
test/lib/python3/03-publish-qos0.test
test/lib/python3/04-retain-qos0.test
test/lib/python3/08-ssl-bad-cacert.test
test/lib/python3/08-ssl-connect-cert-auth.test
test/lib/python3/08-ssl-connect-no-auth.test
test/lib/python3/09-util-topic-matching.test
test/mosq_test.py [deleted file]
test/paho_test.py [new file with mode: 0644]

index 51cec8f69698eca65a6580c7ba36bc6b5cb7e969..5f7b3046443056c0446ba0f024f063c0f2c3ab8a 100755 (executable)
@@ -20,14 +20,14 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("01-con-discon-success", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("01-con-discon-success", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -37,22 +37,21 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+        if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
             rc = 0
 
     conn.close()
index 612a8021cd6dbc1d0aaa066f3fe8d2e9b40b1f75..7faf229675aaad2629b36e02d46a102c223bb5a7 100755 (executable)
@@ -19,15 +19,15 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 4
-connect_packet = mosq_test.gen_connect("01-keepalive-pingreq", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("01-keepalive-pingreq", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-pingreq_packet = mosq_test.gen_pingreq()
-pingresp_packet = mosq_test.gen_pingresp()
+pingreq_packet = paho_test.gen_pingreq()
+pingresp_packet = paho_test.gen_pingresp()
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -37,26 +37,25 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(keepalive+10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "pingreq", pingreq_packet):
+        if paho_test.expect_packet(conn, "pingreq", pingreq_packet):
             time.sleep(1.0)
             conn.send(pingresp_packet)
 
-            if mosq_test.expect_packet(conn, "pingreq", pingreq_packet):
+            if paho_test.expect_packet(conn, "pingreq", pingreq_packet):
                 rc = 0
 
     conn.close()
index b495e8528942ba2d93cdd04936544623dd4858a7..f4aa41545f71ef8b666628ee884e627deea57599 100755 (executable)
@@ -17,11 +17,11 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("01-no-clean-session", clean_session=False, keepalive=keepalive)
+connect_packet = paho_test.gen_connect("01-no-clean-session", clean_session=False, keepalive=keepalive)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -31,19 +31,18 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         rc = 0
 
     conn.close()
index f5ae278a4a6834e0f014be71e04182ccfd3e619b..0a1bf88c014a58c08521b365b885e55b4daf6a36 100755 (executable)
@@ -17,11 +17,11 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("01-unpwd-set", keepalive=keepalive, username="uname", password=";'[08gn=#")
+connect_packet = paho_test.gen_connect("01-unpwd-set", keepalive=keepalive, username="uname", password=";'[08gn=#")
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -31,19 +31,18 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         rc = 0
 
     conn.close()
index 586adf76e87630d624663ab9a8d3beaa83bbc9d7..e576895f9c126aa92f4dedf17b3f44c20a355e0a 100755 (executable)
@@ -19,11 +19,11 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("01-will-set", keepalive=keepalive, will_topic="topic/on/unexpected/disconnect", will_qos=1, will_retain=True, will_payload="will message")
+connect_packet = paho_test.gen_connect("01-will-set", keepalive=keepalive, will_topic="topic/on/unexpected/disconnect", will_qos=1, will_retain=True, will_payload="will message")
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -33,19 +33,18 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         rc = 0
 
     conn.close()
index 77eb0aabc77be349883624a4d487d2efc6b4636d..fb828364c293ad26c13ed63ea536be45c7858b4b 100755 (executable)
@@ -19,11 +19,11 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("01-will-unpwd-set",
+connect_packet = paho_test.gen_connect("01-will-unpwd-set",
         keepalive=keepalive, username="oibvvwqw", password="#'^2hg9a&nm38*us",
         will_topic="will-topic", will_qos=2, will_payload="will message")
 
@@ -35,19 +35,18 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         rc = 0
 
     conn.close()
index 8e244407374ce1322e4d394dffee334c839225bb..d526d7664cbcfe64a33a5a051cafeb758abc09af 100755 (executable)
@@ -24,18 +24,18 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("subscribe-qos0-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("subscribe-qos0-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-subscribe_packet = mosq_test.gen_subscribe(mid, "qos0/test", 0)
-suback_packet = mosq_test.gen_suback(mid, 0)
+subscribe_packet = paho_test.gen_subscribe(mid, "qos0/test", 0)
+suback_packet = paho_test.gen_suback(mid, 0)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -45,25 +45,24 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "subscribe", subscribe_packet):
+        if paho_test.expect_packet(conn, "subscribe", subscribe_packet):
             conn.send(suback_packet)
         
-            if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+            if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                 rc = 0
         
     conn.close()
index eeac5df78a818c34b99a1d6727c976a82e84e9ba..afa5b5b362e52e5b6d687742f089b27edd2ea50a 100755 (executable)
@@ -24,18 +24,18 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("subscribe-qos1-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("subscribe-qos1-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-subscribe_packet = mosq_test.gen_subscribe(mid, "qos1/test", 1)
-suback_packet = mosq_test.gen_suback(mid, 1)
+subscribe_packet = paho_test.gen_subscribe(mid, "qos1/test", 1)
+suback_packet = paho_test.gen_suback(mid, 1)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -45,25 +45,24 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "subscribe", subscribe_packet):
+        if paho_test.expect_packet(conn, "subscribe", subscribe_packet):
             conn.send(suback_packet)
         
-            if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+            if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                 rc = 0
         
     conn.close()
index 580fece746ea8d2808d9b13c524581f2c09f279f..ab29fd41c5e0000f89a2895f0bb6f1f00175f37e 100755 (executable)
@@ -24,18 +24,18 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("subscribe-qos2-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("subscribe-qos2-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-subscribe_packet = mosq_test.gen_subscribe(mid, "qos2/test", 2)
-suback_packet = mosq_test.gen_suback(mid, 2)
+subscribe_packet = paho_test.gen_subscribe(mid, "qos2/test", 2)
+suback_packet = paho_test.gen_suback(mid, 2)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -45,25 +45,24 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "subscribe", subscribe_packet):
+        if paho_test.expect_packet(conn, "subscribe", subscribe_packet):
             conn.send(suback_packet)
         
-            if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+            if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                 rc = 0
         
     conn.close()
index 1d107b4a8910452cd7c22bcd5f20927d5e7d788b..f3f64225f9ff76c005cb9360b368b1d70330fa7a 100755 (executable)
@@ -14,18 +14,18 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("unsubscribe-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("unsubscribe-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-unsubscribe_packet = mosq_test.gen_unsubscribe(mid, "unsubscribe/test")
-unsuback_packet = mosq_test.gen_unsuback(mid)
+unsubscribe_packet = paho_test.gen_unsubscribe(mid, "unsubscribe/test")
+unsuback_packet = paho_test.gen_unsuback(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -35,25 +35,24 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "unsubscribe", unsubscribe_packet):
+        if paho_test.expect_packet(conn, "unsubscribe", unsubscribe_packet):
             conn.send(unsuback_packet)
  
-            if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+            if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                 rc = 0
         
     conn.close()
index 8f47f07e4e3a467cf1e46cadb034f47137ec843a..0b5af94e4c7565951a7af61a1d83ae061e4d05cd 100755 (executable)
@@ -23,18 +23,18 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos1-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos1-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 123
-publish_packet = mosq_test.gen_publish("pub/qos1/receive", qos=1, mid=mid, payload="message")
-puback_packet = mosq_test.gen_puback(mid)
+publish_packet = paho_test.gen_publish("pub/qos1/receive", qos=1, mid=mid, payload="message")
+puback_packet = paho_test.gen_puback(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -44,23 +44,22 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
         conn.send(publish_packet)
 
-        if mosq_test.expect_packet(conn, "puback", puback_packet):
+        if paho_test.expect_packet(conn, "puback", puback_packet):
             rc = 0
 
     conn.close()
index caee3606679bf73c82d832184ee47cf55f791df0..86c820bc51dd3fa2c075f115cd9fd0bc94dc2c75 100755 (executable)
@@ -28,20 +28,20 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos2-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos2-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 13423
-publish_packet = mosq_test.gen_publish("pub/qos2/receive", qos=2, mid=mid, payload="message")
-pubrec_packet = mosq_test.gen_pubrec(mid)
-pubrel_packet = mosq_test.gen_pubrel(mid)
-pubcomp_packet = mosq_test.gen_pubcomp(mid)
+publish_packet = paho_test.gen_publish("pub/qos2/receive", qos=2, mid=mid, payload="message")
+pubrec_packet = paho_test.gen_pubrec(mid)
+pubrel_packet = paho_test.gen_pubrel(mid)
+pubcomp_packet = paho_test.gen_pubcomp(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -51,28 +51,27 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
         conn.send(publish_packet)
 
-        if mosq_test.expect_packet(conn, "pubrec", pubrec_packet):
+        if paho_test.expect_packet(conn, "pubrec", pubrec_packet):
             # Should be repeated due to timeout
-            if mosq_test.expect_packet(conn, "pubrec", pubrec_packet):
+            if paho_test.expect_packet(conn, "pubrec", pubrec_packet):
                 conn.send(pubrel_packet)
 
-                if mosq_test.expect_packet(conn, "pubcomp", pubcomp_packet):
+                if paho_test.expect_packet(conn, "pubcomp", pubcomp_packet):
                     rc = 0
 
     conn.close()
index 33db504828a32c6b40e0705f7b4ae890aca3bcde..a2f67896a53257072ca0ff66548cb360aae2526e 100755 (executable)
@@ -14,19 +14,19 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos1-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos1-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-publish_packet = mosq_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message")
-publish_packet_dup = mosq_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message", dup=True)
-puback_packet = mosq_test.gen_puback(mid)
+publish_packet = paho_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message")
+publish_packet_dup = paho_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message", dup=True)
+puback_packet = paho_test.gen_puback(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -36,12 +36,11 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 
 client = subprocess.Popen(client_args, env=env)
 
@@ -49,23 +48,23 @@ try:
     (conn, address) = sock.accept()
     conn.settimeout(15)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
             # Disconnect client. It should reconnect.
             conn.close()
 
             (conn, address) = sock.accept()
             conn.settimeout(15)
 
-            if mosq_test.expect_packet(conn, "connect", connect_packet):
+            if paho_test.expect_packet(conn, "connect", connect_packet):
                 conn.send(connack_packet)
 
-                if mosq_test.expect_packet(conn, "retried publish", publish_packet_dup):
+                if paho_test.expect_packet(conn, "retried publish", publish_packet_dup):
                     conn.send(puback_packet)
 
-                    if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+                    if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                         rc = 0
 
     conn.close()
index 59765b01fe68b5c588d67a3181d979fae15c6e41..a61c447813ea53d5f6d90e44c17a01f0d66272c1 100755 (executable)
@@ -28,19 +28,19 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos1-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos1-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-publish_packet = mosq_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message")
-publish_packet_dup = mosq_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message", dup=True)
-puback_packet = mosq_test.gen_puback(mid)
+publish_packet = paho_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message")
+publish_packet_dup = paho_test.gen_publish("pub/qos1/test", qos=1, mid=mid, payload="message", dup=True)
+puback_packet = paho_test.gen_puback(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -50,28 +50,27 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(5)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
             # Delay for > 3 seconds (message retry time)
 
-            if mosq_test.expect_packet(conn, "dup publish", publish_packet_dup):
+            if paho_test.expect_packet(conn, "dup publish", publish_packet_dup):
                 conn.send(puback_packet)
 
-                if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+                if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                     rc = 0
 
     conn.close()
index b26178cb3cbb016c8f7796157d51780040842e0e..acc1a3fec2a2c9f28b89fa439bee6763254bfd46 100755 (executable)
@@ -14,22 +14,22 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos2-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos2-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-publish_packet = mosq_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message")
-publish_dup_packet = mosq_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message", dup=True)
-pubrec_packet = mosq_test.gen_pubrec(mid)
-pubrel_packet = mosq_test.gen_pubrel(mid)
-pubrel_dup_packet = mosq_test.gen_pubrel(mid, dup=True)
-pubcomp_packet = mosq_test.gen_pubcomp(mid)
+publish_packet = paho_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message")
+publish_dup_packet = paho_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message", dup=True)
+pubrec_packet = paho_test.gen_pubrec(mid)
+pubrel_packet = paho_test.gen_pubrel(mid)
+pubrel_dup_packet = paho_test.gen_pubrel(mid, dup=True)
+pubcomp_packet = paho_test.gen_pubcomp(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -39,35 +39,34 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(5)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
             # Disconnect client. It should reconnect.
             conn.close()
 
             (conn, address) = sock.accept()
             conn.settimeout(15)
 
-            if mosq_test.expect_packet(conn, "connect", connect_packet):
+            if paho_test.expect_packet(conn, "connect", connect_packet):
                 conn.send(connack_packet)
 
-                if mosq_test.expect_packet(conn, "retried publish", publish_dup_packet):
+                if paho_test.expect_packet(conn, "retried publish", publish_dup_packet):
                     conn.send(pubrec_packet)
 
-                    if mosq_test.expect_packet(conn, "pubrel", pubrel_packet):
+                    if paho_test.expect_packet(conn, "pubrel", pubrel_packet):
                         # Disconnect client. It should reconnect.
                         conn.close()
 
@@ -75,16 +74,16 @@ try:
                         conn.settimeout(15)
 
                         # Complete connection and message flow.
-                        if mosq_test.expect_packet(conn, "connect", connect_packet):
+                        if paho_test.expect_packet(conn, "connect", connect_packet):
                             conn.send(connack_packet)
 
-                            if mosq_test.expect_packet(conn, "2nd retried publish", publish_dup_packet):
+                            if paho_test.expect_packet(conn, "2nd retried publish", publish_dup_packet):
                                 conn.send(pubrec_packet)
 
-                                if mosq_test.expect_packet(conn, "pubrel", pubrel_packet):
+                                if paho_test.expect_packet(conn, "pubrel", pubrel_packet):
                                     conn.send(pubcomp_packet)
 
-                                    if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+                                    if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                                         rc = 0
 
     conn.close()
index 7705f1a13cfb5a4e802a902592489ad7b95c3d97..a4c7003cc356fd16ab8382fc4c944017cc6268be 100755 (executable)
@@ -32,22 +32,22 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos2-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos2-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 mid = 1
-publish_packet = mosq_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message")
-publish_dup_packet = mosq_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message", dup=True)
-pubrec_packet = mosq_test.gen_pubrec(mid)
-pubrel_packet = mosq_test.gen_pubrel(mid)
-pubrel_dup_packet = mosq_test.gen_pubrel(mid, dup=True)
-pubcomp_packet = mosq_test.gen_pubcomp(mid)
+publish_packet = paho_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message")
+publish_dup_packet = paho_test.gen_publish("pub/qos2/test", qos=2, mid=mid, payload="message", dup=True)
+pubrec_packet = paho_test.gen_pubrec(mid)
+pubrel_packet = paho_test.gen_pubrel(mid)
+pubrel_dup_packet = paho_test.gen_pubrel(mid, dup=True)
+pubcomp_packet = paho_test.gen_pubcomp(mid)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -57,32 +57,31 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(5)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
             # Delay for > 3 seconds (message retry time)
 
-            if mosq_test.expect_packet(conn, "dup publish", publish_dup_packet):
+            if paho_test.expect_packet(conn, "dup publish", publish_dup_packet):
                 conn.send(pubrec_packet)
                 
-                if mosq_test.expect_packet(conn, "pubrel", pubrel_packet):
-                    if mosq_test.expect_packet(conn, "dup pubrel", pubrel_dup_packet):
+                if paho_test.expect_packet(conn, "pubrel", pubrel_packet):
+                    if paho_test.expect_packet(conn, "dup pubrel", pubrel_dup_packet):
                         conn.send(pubcomp_packet)
 
-                        if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+                        if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                             rc = 0
 
     conn.close()
index 6b16663fc6d1199f021435eccf513b9f7d4f9cdc..1324768504761109714db4f6e41ad26cb67f3f9a 100755 (executable)
@@ -22,16 +22,16 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos0-test-np", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos0-test-np", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-publish_packet = mosq_test.gen_publish("pub/qos0/no-payload/test", qos=0)
+publish_packet = paho_test.gen_publish("pub/qos0/no-payload/test", qos=0)
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -41,23 +41,22 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
-            if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
+            if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                 rc = 0
         
     conn.close()
index db7e57870d2fd2b78ac3f6ca5606e5baaf575610..17d8b532238d7ed184f21e56a38fe3a616cde8c0 100755 (executable)
@@ -22,16 +22,16 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("publish-qos0-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("publish-qos0-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-publish_packet = mosq_test.gen_publish("pub/qos0/test", qos=0, payload="message")
+publish_packet = paho_test.gen_publish("pub/qos0/test", qos=0, payload="message")
 
-disconnect_packet = mosq_test.gen_disconnect()
+disconnect_packet = paho_test.gen_disconnect()
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -41,23 +41,22 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
-            if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
+            if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
                 rc = 0
         
     conn.close()
index b0c6e247feec7ff042193a1a989cbd2b085bee46..859b6129f0157bc5c1951a16f27b08f268152960 100755 (executable)
@@ -14,15 +14,15 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 rc = 1
 keepalive = 60
 mid = 16
-connect_packet = mosq_test.gen_connect("retain-qos0-test", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
+connect_packet = paho_test.gen_connect("retain-qos0-test", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
 
-publish_packet = mosq_test.gen_publish("retain/qos0/test", qos=0, payload="retained message", retain=True)
+publish_packet = paho_test.gen_publish("retain/qos0/test", qos=0, payload="retained message", retain=True)
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -32,22 +32,21 @@ sock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = sock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "publish", publish_packet):
+        if paho_test.expect_packet(conn, "publish", publish_packet):
             rc = 0
         
     conn.close()
index 13fed1c37d46f3d0fe165b8e8ecd4b7e95a0b626..221e2ff77c8f4d449bf28fb7381b113edfd4ccb0 100755 (executable)
@@ -13,7 +13,7 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 if sys.version < '2.7':
     print("WARNING: SSL not supported on Python 2.6")
@@ -23,12 +23,11 @@ rc = 1
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 
 client = subprocess.Popen(client_args, env=env)
 client.wait()
index 8554713a616b952383e3108f78c0425c85655c9f..4ec1dd7bb65c4922f9cf6f6c9800d1426e50f538 100755 (executable)
@@ -23,7 +23,7 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 if sys.version < '2.7':
     print("WARNING: SSL not supported on Python 2.6")
@@ -31,9 +31,9 @@ if sys.version < '2.7':
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("08-ssl-connect-crt-auth", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
-disconnect_packet = mosq_test.gen_disconnect()
+connect_packet = paho_test.gen_connect("08-ssl-connect-crt-auth", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
+disconnect_packet = paho_test.gen_disconnect()
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -46,22 +46,21 @@ ssock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = ssock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+        if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
             rc = 0
 
     conn.close()
index 716c59da9ef3856f4eb6f4cf91567471406728ff..15c6f2d78b755fbd801190712903ef48bbb039db 100755 (executable)
@@ -22,7 +22,7 @@ cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(insp
 if cmd_subfolder not in sys.path:
     sys.path.insert(0, cmd_subfolder)
 
-import mosq_test
+import paho_test
 
 if sys.version < '2.7':
     print("WARNING: SSL not supported on Python 2.6")
@@ -30,9 +30,9 @@ if sys.version < '2.7':
 
 rc = 1
 keepalive = 60
-connect_packet = mosq_test.gen_connect("08-ssl-connect-no-auth", keepalive=keepalive)
-connack_packet = mosq_test.gen_connack(rc=0)
-disconnect_packet = mosq_test.gen_disconnect()
+connect_packet = paho_test.gen_connect("08-ssl-connect-no-auth", keepalive=keepalive)
+connack_packet = paho_test.gen_connack(rc=0)
+disconnect_packet = paho_test.gen_disconnect()
 
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -43,22 +43,21 @@ ssock.listen(5)
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 client = subprocess.Popen(client_args, env=env)
 
 try:
     (conn, address) = ssock.accept()
     conn.settimeout(10)
 
-    if mosq_test.expect_packet(conn, "connect", connect_packet):
+    if paho_test.expect_packet(conn, "connect", connect_packet):
         conn.send(connack_packet)
 
-        if mosq_test.expect_packet(conn, "disconnect", disconnect_packet):
+        if paho_test.expect_packet(conn, "disconnect", disconnect_packet):
             rc = 0
 
     conn.close()
index 57c989e54dcceb88743df2a1da07bb7b7e6cd340..050acfc80e3c2f890c7b5b3568f7a45b30625ad6 100755 (executable)
@@ -15,12 +15,11 @@ rc = 1
 
 client_args = sys.argv[1:]
 env = dict(os.environ)
-env['LD_LIBRARY_PATH'] = '../../lib:../../lib/cpp'
 try:
     pp = env['PYTHONPATH']
 except KeyError:
     pp = ''
-env['PYTHONPATH'] = '../../lib/python:'+pp
+env['PYTHONPATH'] = '../../src:'+pp
 
 client = subprocess.Popen(client_args, env=env)
 client.wait()
index 50a45f3187a1c64e711b4a9612573d7b2218bb6f..b6ccc1e4a64ccce2bce2f92957dc7beb1f3a4f9c 100755 (executable)
@@ -7,27 +7,27 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.disconnect()
+        mqttc.disconnect()
 
-def on_disconnect(mosq, obj, rc):
-    mosq.loop()
+def on_disconnect(mqttc, obj, rc):
+    mqttc.loop()
     obj = rc
 
 
 run = -1
-mosq = mosquitto.Mosquitto("01-con-discon-success", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
+mqttc = mqtt.Client("01-con-discon-success", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 9aa289b1e30963626d4c23b4a2e7f0781f21c334..bf9565da6d60c52ce3df9d344584716873025259 100755 (executable)
@@ -7,19 +7,19 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
 
 run = -1
-mosq = mosquitto.Mosquitto("01-keepalive-pingreq")
-mosq.on_connect = on_connect
+mqttc = mqtt.Client("01-keepalive-pingreq")
+mqttc.on_connect = on_connect
 
-mosq.connect("localhost", 1888, 4)
+mqttc.connect("localhost", 1888, 4)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index b006dc731b8aa2a6768389a4bca46a677cc48312..06387bfdf7f6c2a644ee69c242747eb02ac5c4b7 100755 (executable)
@@ -1,12 +1,12 @@
 #!/usr/bin/python
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-no-clean-session", False)
+mqttc = mqtt.Client("01-no-clean-session", False)
 
 run = -1
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index b55dab8495aaf413fe7d79795433692a399d0166..cbbd99224d7293d071803f291a0a597f640fd092 100755 (executable)
@@ -1,13 +1,13 @@
 #!/usr/bin/python
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-unpwd-set")
+mqttc = mqtt.Client("01-unpwd-set")
 
 run = -1
-mosq.username_pw_set("uname", ";'[08gn=#")
-mosq.connect("localhost", 1888)
+mqttc.username_pw_set("uname", ";'[08gn=#")
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 75803a3514cc4342b7b56ebb55e48eade5c33f92..8502e7c1771abefcfdbc693e7164de050746492a 100755 (executable)
@@ -1,13 +1,13 @@
 #!/usr/bin/python
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-will-set")
+mqttc = mqtt.Client("01-will-set")
 
 run = -1
-mosq.will_set("topic/on/unexpected/disconnect", "will message", 1, True)
-mosq.connect("localhost", 1888)
+mqttc.will_set("topic/on/unexpected/disconnect", "will message", 1, True)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 0379b36a4943daad126ef92b6d7463c4880ccf53..61b631ead1cd9185db0679966613b5b9f63bb1b3 100755 (executable)
@@ -1,14 +1,14 @@
 #!/usr/bin/python
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-will-unpwd-set")
+mqttc = mqtt.Client("01-will-unpwd-set")
 
 run = -1
-mosq.username_pw_set("oibvvwqw", "#'^2hg9a&nm38*us")
-mosq.will_set("will-topic", "will message", 2, False)
-mosq.connect("localhost", 1888)
+mqttc.username_pw_set("oibvvwqw", "#'^2hg9a&nm38*us")
+mqttc.will_set("will-topic", "will message", 2, False)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 2f65055667b1c9661761c678dc6046af68838fa9..a49f11039eb841d8c7c5f7f9582610618d10e834 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.subscribe("qos0/test", 0)
+        mqttc.subscribe("qos0/test", 0)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_subscribe(mosq, obj, mid, granted_qos):
-    mosq.disconnect()
+def on_subscribe(mqttc, obj, mid, granted_qos):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("subscribe-qos0-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_subscribe = on_subscribe
+mqttc = mqtt.Client("subscribe-qos0-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_subscribe = on_subscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index d00cc13b7c5b8491685083ae72da584570aa972b..1060a1e2c7ec67bc085a31b3f6255ee25155cfa1 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.subscribe("qos1/test", 1)
+        mqttc.subscribe("qos1/test", 1)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_subscribe(mosq, obj, mid, granted_qos):
-    mosq.disconnect()
+def on_subscribe(mqttc, obj, mid, granted_qos):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("subscribe-qos1-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_subscribe = on_subscribe
+mqttc = mqtt.Client("subscribe-qos1-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_subscribe = on_subscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 83a60b9d3af0f1245ae2abc65e649b623890b94f..f09c887ff892a4c184c612a13b3fbc66f8ea24ef 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.subscribe("qos2/test", 2)
+        mqttc.subscribe("qos2/test", 2)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_subscribe(mosq, obj, mid, granted_qos):
-    mosq.disconnect()
+def on_subscribe(mqttc, obj, mid, granted_qos):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("subscribe-qos2-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_subscribe = on_subscribe
+mqttc = mqtt.Client("subscribe-qos2-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_subscribe = on_subscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index e3b5ecc1d8063ce3b8c03d4d801e202d1b879487..3e2c2c44f4cc49202a1fb3aa1d548405d66b3986 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.unsubscribe("unsubscribe/test")
+        mqttc.unsubscribe("unsubscribe/test")
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_unsubscribe(mosq, obj, mid):
-    mosq.disconnect()
+def on_unsubscribe(mqttc, obj, mid):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("unsubscribe-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_unsubscribe = on_unsubscribe
+mqttc = mqtt.Client("unsubscribe-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_unsubscribe = on_unsubscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 3b93c3ab46bbd98056f7dfa0832596f5b7937e46..cf2b58a211c601bab7391a514d455b774b802e17 100755 (executable)
@@ -7,9 +7,9 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-def on_message(mosq, obj, msg):
+def on_message(mqttc, obj, msg):
     if msg.mid != 123:
         print("Invalid mid: ("+str(msg.mid)+")")
         exit(1)
@@ -27,19 +27,19 @@ def on_message(mosq, obj, msg):
         exit(1)
     exit(0)
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         print("Connect failed ("+str(rc)+")")
         exit(rc)
 
-mosq = mosquitto.Mosquitto("publish-qos1-test")
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_message = on_message
+mqttc = mqtt.Client("publish-qos1-test")
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_message = on_message
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while rc == 0:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 print("rc: "+str(rc))
 exit(1)
index 74e9df0120f586e000d9dbe763543389bb217aa0..b88cc9cd21a1a96904de1bb14feee5a26f1286ef 100755 (executable)
@@ -7,10 +7,10 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_message(mosq, obj, msg):
+def on_message(mqttc, obj, msg):
     global run
     if msg.mid != 13423:
         print("Invalid mid ("+str(msg.mid)+")")
@@ -30,19 +30,19 @@ def on_message(mosq, obj, msg):
 
     run = 0
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos2-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_message = on_message
+mqttc = mqtt.Client("publish-qos2-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_message = on_message
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1 and rc == 0:
-    rc = mosq.loop(0.3)
+    rc = mqttc.loop(0.3)
 
 exit(run)
index 5da5623ea91ebe9154ef8229bf23f58fa74127af..812aa1e70ef5c304e2bebbf51f84e92c7cb17553 100755 (executable)
@@ -7,42 +7,42 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
         if sent_mid == -1:
-            res = mosq.publish("pub/qos1/test", "message", 1)
+            res = mqttc.publish("pub/qos1/test", "message", 1)
             sent_mid = res[1]
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     if rc == 1:
-        mosq.reconnect()
+        mqttc.reconnect()
     else:
         run = 0
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid
     if mid == sent_mid:
-        mosq.disconnect()
+        mqttc.disconnect()
     else:
         exit(1)
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos1-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos1-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 30f1b33f4c5fe7fbaa8420331f2ac4b4d7966574..c12957ae56a228c6aef87760b55b1302968f245b 100755 (executable)
@@ -7,38 +7,38 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
-        res = mosq.publish("pub/qos1/test", "message", 1)
+        res = mqttc.publish("pub/qos1/test", "message", 1)
         sent_mid = res[1]
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     run = 0
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid
     if mid == sent_mid:
-        mosq.disconnect()
+        mqttc.disconnect()
     else:
         exit(1)
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos1-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos1-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1 and rc == 0:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index f394c615a65ce7ee8f3612d695d3d149321c94f5..ad6d2fd025b670167f548b198de86d6edade25f0 100755 (executable)
@@ -7,38 +7,38 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 first_connection = 1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global first_connection
     if rc != 0:
         exit(rc)
     else:
         if first_connection == 1:
-            mosq.publish("pub/qos2/test", "message", 2)
+            mqttc.publish("pub/qos2/test", "message", 2)
             first_connection = 0
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     if rc == 1:
-        mosq.reconnect()
+        mqttc.reconnect()
     else:
         run = 0
 
-def on_publish(mosq, obj, mid):
-    mosq.disconnect()
+def on_publish(mqttc, obj, mid):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos2-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos2-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 940c5941f36e6ddcf8db244adff13c649243692f..e7a40e43bab9016f8d1a4077ba6e536716ff9328 100755 (executable)
@@ -7,31 +7,31 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.publish("pub/qos2/test", "message", 2)
+        mqttc.publish("pub/qos2/test", "message", 2)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     run = 0
 
-def on_publish(mosq, obj, mid):
-    mosq.disconnect()
+def on_publish(mqttc, obj, mid):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos2-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos2-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1 and rc == 0:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 7730e52ae6ee73e9a89c098b68d3261ec4e9ab63..0cbf894c9c4fc9047b03bc92cffb57a6405b3ed5 100755 (executable)
@@ -7,30 +7,30 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
-        (res, sent_mid) = mosq.publish("pub/qos0/no-payload/test")
+        (res, sent_mid) = mqttc.publish("pub/qos0/no-payload/test")
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid, run
     if sent_mid == mid:
-        mosq.disconnect()
+        mqttc.disconnect()
         run = 0
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos0-test-np", run)
-mosq.on_connect = on_connect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos0-test-np", run)
+mqttc.on_connect = on_connect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index c446a08b1c28dcf04674dbcd43ab1d73b302139e..88e6e5f158f8be447bcce22235665e857235f12e 100755 (executable)
@@ -7,30 +7,30 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
-        res = mosq.publish("pub/qos0/test", "message")
+        res = mqttc.publish("pub/qos0/test", "message")
         sent_mid = res[1]
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid, run
     if sent_mid == mid:
-        mosq.disconnect()
+        mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos0-test", run)
-mosq.on_connect = on_connect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos0-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 516538ddcbc8fea20f613115fe40a6f12fa28687..eb950b8900ef176243b8c14245031a52a31f7ac8 100755 (executable)
@@ -7,21 +7,21 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.publish("retain/qos0/test", "retained message", 0, True)
+        mqttc.publish("retain/qos0/test", "retained message", 0, True)
 
 run = -1
-mosq = mosquitto.Mosquitto("retain-qos0-test", run)
-mosq.on_connect = on_connect
+mqttc = mqtt.Client("retain-qos0-test", run)
+mqttc.on_connect = on_connect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 5b8bfb2cf3ecbf26aefe8eb122f522b327144674..404030aae2a992d3827e1d514adcdd4da64532dd 100755 (executable)
@@ -7,16 +7,16 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 if sys.version < '2.7':
     print("WARNING: SSL/TLS not supported on Python 2.6")
     exit(0)
 
 rc = 1
-mosq = mosquitto.Mosquitto("08-ssl-bad-cacert")
+mqttc = mqtt.Client("08-ssl-bad-cacert")
 try:
-    mosq.tls_set("this/file/doesnt/exist")
+    mqttc.tls_set("this/file/doesnt/exist")
 except IOError as err:
     rc = 0
 
index d2c59c6bfd841a3ac98922c4f7f1be39649dbdc9..95ec548a8f83ab448ee83e0e087decc3168885e1 100755 (executable)
@@ -7,31 +7,31 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 if sys.version < '2.7':
     print("WARNING: SSL/TLS not supported on Python 2.6")
     exit(0)
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.disconnect()
+        mqttc.disconnect()
 
-def on_disconnect(mosq, obj, rc):
-    mosq.loop()
+def on_disconnect(mqttc, obj, rc):
+    mqttc.loop()
     obj = rc
 
 
 run = -1
-mosq = mosquitto.Mosquitto("08-ssl-connect-crt-auth", run)
-mosq.tls_set("../ssl/test-ca.crt", "../ssl/client.crt", "../ssl/client.key")
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
+mqttc = mqtt.Client("08-ssl-connect-crt-auth", run)
+mqttc.tls_set("../ssl/test-ca.crt", "../ssl/client.crt", "../ssl/client.key")
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 6baea37ac81bdd4f84f032312e043b345a833848..4ce73e3c018e81a4c28678dbac15828062fbb02b 100755 (executable)
@@ -7,31 +7,31 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 if sys.version < '2.7':
     print("WARNING: SSL/TLS not supported on Python 2.6")
     exit(0)
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.disconnect()
+        mqttc.disconnect()
 
-def on_disconnect(mosq, obj, rc):
-    mosq.loop()
+def on_disconnect(mqttc, obj, rc):
+    mqttc.loop()
     obj = rc
 
 
 run = -1
-mosq = mosquitto.Mosquitto("08-ssl-connect-no-auth", run)
-mosq.tls_set("../ssl/test-ca.crt")
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
+mqttc = mqtt.Client("08-ssl-connect-no-auth", run)
+mqttc.tls_set("../ssl/test-ca.crt")
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 11fd81bf187c87e941e17287168c211142f4fda8..c546e20e72cd756794b6b875575cf3aacd3b238a 100755 (executable)
@@ -1,61 +1,34 @@
 #!/usr/bin/python
 
-# Copyright (c) 2012 Roger Light <roger@atchoo.org>
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-# 
-# 1. Redistributions of source code must retain the above copyright notice,
-#   this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in the
-#   documentation and/or other materials provided with the distribution.
-# 3. Neither the name of mosquitto nor the names of its
-#   contributors may be used to endorse or promote products derived from
-#   this software without specific prior written permission.
-# 
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-import mosquitto
+import paho.mqtt.client as mqtt
 import sys
 
-if mosquitto.topic_matches_sub("foo/bar", "foo/bar") == False:
+if mqtt.topic_matches_sub("foo/bar", "foo/bar") == False:
     print("ERROR: foo/bar : foo/bar")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+", "foo/bar") == False:
+if mqtt.topic_matches_sub("foo/+", "foo/bar") == False:
     print("ERROR: foo/+ : foo/bar")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/baz", "foo/bar/baz") == False:
+if mqtt.topic_matches_sub("foo/+/baz", "foo/bar/baz") == False:
     print("ERROR: foo/+/baz : foo/bar/baz")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/#", "foo/bar/baz") == False:
+if mqtt.topic_matches_sub("foo/+/#", "foo/bar/baz") == False:
     print("ERROR: foo/+/# : foo/bar/baz")
     sys.exit(1)
-if mosquitto.topic_matches_sub("#", "foo/bar/baz") == False:
+if mqtt.topic_matches_sub("#", "foo/bar/baz") == False:
     print("ERROR: # : foo/bar/baz")
     sys.exit(1)
 
-if mosquitto.topic_matches_sub("foo/bar", "foo") == True:
+if mqtt.topic_matches_sub("foo/bar", "foo") == True:
     print("ERROR: foo/bar : foo")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+", "foo/bar/baz") == True:
+if mqtt.topic_matches_sub("foo/+", "foo/bar/baz") == True:
     print("ERROR: foo/+ : foo/bar/baz")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/baz", "foo/bar/bar") == True:
+if mqtt.topic_matches_sub("foo/+/baz", "foo/bar/bar") == True:
     print("ERROR: foo/+/baz : foo/bar/bar")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/#", "fo2/bar/baz") == True:
+if mqtt.topic_matches_sub("foo/+/#", "fo2/bar/baz") == True:
     print("ERROR: foo/+/# : foo/bar/baz")
     sys.exit(1)
 
index e517856fb0de57eb115cd22ddcb940fa6d79f075..188aa667c14a4116001e488560838aec65f34d1a 100755 (executable)
@@ -7,27 +7,27 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.disconnect()
+        mqttc.disconnect()
 
-def on_disconnect(mosq, obj, rc):
-    mosq.loop()
+def on_disconnect(mqttc, obj, rc):
+    mqttc.loop()
     obj = rc
 
 
 run = -1
-mosq = mosquitto.Mosquitto("01-con-discon-success", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
+mqttc = mqtt.Client("01-con-discon-success", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index f7b0f3013a4aa51e430456fee81e2165b7889ea5..4148df77b7bdf414f976b8ed20aa6a5524f333ac 100755 (executable)
@@ -7,19 +7,19 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
 
 run = -1
-mosq = mosquitto.Mosquitto("01-keepalive-pingreq")
-mosq.on_connect = on_connect
+mqttc = mqtt.Client("01-keepalive-pingreq")
+mqttc.on_connect = on_connect
 
-mosq.connect("localhost", 1888, 4)
+mqttc.connect("localhost", 1888, 4)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 17d1aad6866f5fec53e6795f4c93837bbc9188ba..d1c9a2144d69d7601afedbdabebae2511d50bcce 100755 (executable)
@@ -1,12 +1,12 @@
 #!/usr/bin/python3
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-no-clean-session", False)
+mqttc = mqtt.Client("01-no-clean-session", False)
 
 run = -1
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 593636f611b92c949f6d77dd995b90f8024830af..2ae97c7feea2637ce2655510a098468fcd9930cc 100755 (executable)
@@ -1,13 +1,13 @@
 #!/usr/bin/python3
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-unpwd-set")
+mqttc = mqtt.Client("01-unpwd-set")
 
 run = -1
-mosq.username_pw_set("uname", ";'[08gn=#")
-mosq.connect("localhost", 1888)
+mqttc.username_pw_set("uname", ";'[08gn=#")
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 2aae62f68b461639fec20d6e560568f48384a5f6..6b0b76e4f1c93049715a2359c3ba6f62ab5b1325 100755 (executable)
@@ -1,13 +1,13 @@
 #!/usr/bin/python3
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-will-set")
+mqttc = mqtt.Client("01-will-set")
 
 run = -1
-mosq.will_set("topic/on/unexpected/disconnect", "will message", 1, True)
-mosq.connect("localhost", 1888)
+mqttc.will_set("topic/on/unexpected/disconnect", "will message", 1, True)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 290fe77023d76adb72f344ad5835607eb8bea55e..370bb80e6b47e0ffe1dfeb545afb4c1f036a6d00 100755 (executable)
@@ -1,14 +1,14 @@
 #!/usr/bin/python3
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-mosq = mosquitto.Mosquitto("01-will-unpwd-set")
+mqttc = mqtt.Client("01-will-unpwd-set")
 
 run = -1
-mosq.username_pw_set("oibvvwqw", "#'^2hg9a&nm38*us")
-mosq.will_set("will-topic", "will message", 2, False)
-mosq.connect("localhost", 1888)
+mqttc.username_pw_set("oibvvwqw", "#'^2hg9a&nm38*us")
+mqttc.will_set("will-topic", "will message", 2, False)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 2d5b721ad21a9dbf9a71a13c2db88a81526764ab..b976978f85184c8364a2bd516fe4e9789a176feb 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.subscribe("qos0/test", 0)
+        mqttc.subscribe("qos0/test", 0)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_subscribe(mosq, obj, mid, granted_qos):
-    mosq.disconnect()
+def on_subscribe(mqttc, obj, mid, granted_qos):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("subscribe-qos0-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_subscribe = on_subscribe
+mqttc = mqtt.Client("subscribe-qos0-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_subscribe = on_subscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index aebda7dece69666e0276d004c0d214fb1712ab60..37c35b0ca5d3cabcd75b386384b9fe6e8d6984e1 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.subscribe("qos1/test", 1)
+        mqttc.subscribe("qos1/test", 1)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_subscribe(mosq, obj, mid, granted_qos):
-    mosq.disconnect()
+def on_subscribe(mqttc, obj, mid, granted_qos):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("subscribe-qos1-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_subscribe = on_subscribe
+mqttc = mqtt.Client("subscribe-qos1-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_subscribe = on_subscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 1fb5e2ca6d569297e68839093e1738037fa21c70..4592d79b8ea7801fe0fb1dbc7a55a665f1baa4a4 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.subscribe("qos2/test", 2)
+        mqttc.subscribe("qos2/test", 2)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_subscribe(mosq, obj, mid, granted_qos):
-    mosq.disconnect()
+def on_subscribe(mqttc, obj, mid, granted_qos):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("subscribe-qos2-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_subscribe = on_subscribe
+mqttc = mqtt.Client("subscribe-qos2-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_subscribe = on_subscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 12a85b6a7fbefdcd293df3feffa2d3491567e011..f4eb457e079b713bf217503d30ae0ef38c4bdfb8 100755 (executable)
@@ -7,29 +7,29 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.unsubscribe("unsubscribe/test")
+        mqttc.unsubscribe("unsubscribe/test")
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     obj = rc
 
-def on_unsubscribe(mosq, obj, mid):
-    mosq.disconnect()
+def on_unsubscribe(mqttc, obj, mid):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("unsubscribe-test", run)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_unsubscribe = on_unsubscribe
+mqttc = mqtt.Client("unsubscribe-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_unsubscribe = on_unsubscribe
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 56252edf4fe0eb4a63c45386d585cf2c2fdd0ab0..09c71891c18c1a965f1ee26e6e9ef8dec37b7128 100755 (executable)
@@ -7,9 +7,9 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
-def on_message(mosq, obj, msg):
+def on_message(mqttc, obj, msg):
     if msg.mid != 123:
         print("Invalid mid: ("+str(msg.mid)+")")
         exit(1)
@@ -27,19 +27,19 @@ def on_message(mosq, obj, msg):
         exit(1)
     exit(0)
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         print("Connect failed ("+str(rc)+")")
         exit(rc)
 
-mosq = mosquitto.Mosquitto("publish-qos1-test")
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_message = on_message
+mqttc = mqtt.Client("publish-qos1-test")
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_message = on_message
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while rc == 0:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 print("rc: "+str(rc))
 exit(1)
index be0ff0878220121172bc1a54e31fd3ed45f811a8..a71e7c45970a0fde9d05f62d01384dce2403b66f 100755 (executable)
@@ -7,10 +7,10 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_message(mosq, obj, msg):
+def on_message(mqttc, obj, msg):
     global run
     if msg.mid != 13423:
         print("Invalid mid ("+str(msg.mid)+")")
@@ -30,19 +30,19 @@ def on_message(mosq, obj, msg):
 
     run = 0
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos2-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_message = on_message
+mqttc = mqtt.Client("publish-qos2-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_message = on_message
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1 and rc == 0:
-    rc = mosq.loop(0.3)
+    rc = mqttc.loop(0.3)
 
 exit(run)
index 5da5623ea91ebe9154ef8229bf23f58fa74127af..812aa1e70ef5c304e2bebbf51f84e92c7cb17553 100755 (executable)
@@ -7,42 +7,42 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
         if sent_mid == -1:
-            res = mosq.publish("pub/qos1/test", "message", 1)
+            res = mqttc.publish("pub/qos1/test", "message", 1)
             sent_mid = res[1]
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     if rc == 1:
-        mosq.reconnect()
+        mqttc.reconnect()
     else:
         run = 0
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid
     if mid == sent_mid:
-        mosq.disconnect()
+        mqttc.disconnect()
     else:
         exit(1)
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos1-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos1-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 3283c7422a6ec0f29ab442d5a625736a6636832e..9576f6d453f70b7c3a0b811873436e331cdb7f71 100755 (executable)
@@ -7,38 +7,38 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
-        res = mosq.publish("pub/qos1/test", "message", 1)
+        res = mqttc.publish("pub/qos1/test", "message", 1)
         sent_mid = res[1]
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     run = 0
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid
     if mid == sent_mid:
-        mosq.disconnect()
+        mqttc.disconnect()
     else:
         exit(1)
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos1-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos1-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1 and rc == 0:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 0d97ec5b6f1733cd69cd1c0325fd8d589736c9a2..09bc1e3075fc1cccb463215ed3a1c488e95066cd 100755 (executable)
@@ -7,38 +7,38 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 first_connection = 1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global first_connection
     if rc != 0:
         exit(rc)
     else:
         if first_connection == 1:
-            mosq.publish("pub/qos2/test", "message", 2)
+            mqttc.publish("pub/qos2/test", "message", 2)
             first_connection = 0
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     if rc == 1:
-        mosq.reconnect()
+        mqttc.reconnect()
     else:
         run = 0
 
-def on_publish(mosq, obj, mid):
-    mosq.disconnect()
+def on_publish(mqttc, obj, mid):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos2-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos2-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 13c7baa646db7d44add47c0e0c0a570ff95b52b9..dc601dcde68a82b1a0fbce8b48caef7a80e3ef33 100755 (executable)
@@ -7,31 +7,31 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.publish("pub/qos2/test", "message", 2)
+        mqttc.publish("pub/qos2/test", "message", 2)
 
-def on_disconnect(mosq, obj, rc):
+def on_disconnect(mqttc, obj, rc):
     run = 0
 
-def on_publish(mosq, obj, mid):
-    mosq.disconnect()
+def on_publish(mqttc, obj, mid):
+    mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos2-test", run)
-mosq.message_retry_set(3)
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos2-test", run)
+mqttc.message_retry_set(3)
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 rc = 0
 while run == -1 and rc == 0:
-    rc = mosq.loop()
+    rc = mqttc.loop()
 
 exit(run)
index 874988c26692b354d1f79d4251ed27bd648ee958..2440a5ed34ee4bc0cd155555130903316ce9af73 100755 (executable)
@@ -7,30 +7,30 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
-        (res, sent_mid) = mosq.publish("pub/qos0/no-payload/test")
+        (res, sent_mid) = mqttc.publish("pub/qos0/no-payload/test")
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid, run
     if sent_mid == mid:
-        mosq.disconnect()
+        mqttc.disconnect()
         run = 0
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos0-test-np", run)
-mosq.on_connect = on_connect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos0-test-np", run)
+mqttc.on_connect = on_connect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index f3474fd37383606d387fcaad5a9837b390b3aec6..e911da3e50137e973930d105af86dc0e363f929b 100755 (executable)
@@ -7,30 +7,30 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 sent_mid = -1
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     global sent_mid
     if rc != 0:
         exit(rc)
     else:
-        res = mosq.publish("pub/qos0/test", "message")
+        res = mqttc.publish("pub/qos0/test", "message")
         sent_mid = res[1]
 
-def on_publish(mosq, obj, mid):
+def on_publish(mqttc, obj, mid):
     global sent_mid, run
     if sent_mid == mid:
-        mosq.disconnect()
+        mqttc.disconnect()
 
 run = -1
-mosq = mosquitto.Mosquitto("publish-qos0-test", run)
-mosq.on_connect = on_connect
-mosq.on_publish = on_publish
+mqttc = mqtt.Client("publish-qos0-test", run)
+mqttc.on_connect = on_connect
+mqttc.on_publish = on_publish
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 7bf6c85751e9a5dd2057219323d70ff0f99a6455..5a74ddc32d1f9eba9f951fac78fb37d417e015b5 100755 (executable)
@@ -7,21 +7,21 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.publish("retain/qos0/test", "retained message", 0, True)
+        mqttc.publish("retain/qos0/test", "retained message", 0, True)
 
 run = -1
-mosq = mosquitto.Mosquitto("retain-qos0-test", run)
-mosq.on_connect = on_connect
+mqttc = mqtt.Client("retain-qos0-test", run)
+mqttc.on_connect = on_connect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 5b8bfb2cf3ecbf26aefe8eb122f522b327144674..404030aae2a992d3827e1d514adcdd4da64532dd 100755 (executable)
@@ -7,16 +7,16 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 if sys.version < '2.7':
     print("WARNING: SSL/TLS not supported on Python 2.6")
     exit(0)
 
 rc = 1
-mosq = mosquitto.Mosquitto("08-ssl-bad-cacert")
+mqttc = mqtt.Client("08-ssl-bad-cacert")
 try:
-    mosq.tls_set("this/file/doesnt/exist")
+    mqttc.tls_set("this/file/doesnt/exist")
 except IOError as err:
     rc = 0
 
index f7dbadfb527d273813c81d2aed2cc0642f10969f..605d1a6bb0fa285d85561614afeea1c5e535224f 100755 (executable)
@@ -7,28 +7,28 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.disconnect()
+        mqttc.disconnect()
 
-def on_disconnect(mosq, obj, rc):
-    mosq.loop()
+def on_disconnect(mqttc, obj, rc):
+    mqttc.loop()
     obj = rc
 
 
 run = -1
-mosq = mosquitto.Mosquitto("08-ssl-connect-crt-auth", run)
-mosq.tls_set("../ssl/test-ca.crt", "../ssl/client.crt", "../ssl/client.key")
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
+mqttc = mqtt.Client("08-ssl-connect-crt-auth", run)
+mqttc.tls_set("../ssl/test-ca.crt", "../ssl/client.crt", "../ssl/client.key")
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 1fd5aec8f0b45432ccc3c073c34603d40c0cedf3..a46b4a087ba547fbd702dbba6b44b19971ac9d7d 100755 (executable)
@@ -7,28 +7,28 @@ import sys
 import time
 from struct import *
 
-import mosquitto
+import paho.mqtt.client as mqtt
 
 
-def on_connect(mosq, obj, rc):
+def on_connect(mqttc, obj, rc):
     if rc != 0:
         exit(rc)
     else:
-        mosq.disconnect()
+        mqttc.disconnect()
 
-def on_disconnect(mosq, obj, rc):
-    mosq.loop()
+def on_disconnect(mqttc, obj, rc):
+    mqttc.loop()
     obj = rc
 
 
 run = -1
-mosq = mosquitto.Mosquitto("08-ssl-connect-no-auth", run)
-mosq.tls_set("../ssl/test-ca.crt")
-mosq.on_connect = on_connect
-mosq.on_disconnect = on_disconnect
+mqttc = mqtt.Client("08-ssl-connect-no-auth", run)
+mqttc.tls_set("../ssl/test-ca.crt")
+mqttc.on_connect = on_connect
+mqttc.on_disconnect = on_disconnect
 
-mosq.connect("localhost", 1888)
+mqttc.connect("localhost", 1888)
 while run == -1:
-    mosq.loop()
+    mqttc.loop()
 
 exit(run)
index 11fd81bf187c87e941e17287168c211142f4fda8..c546e20e72cd756794b6b875575cf3aacd3b238a 100755 (executable)
@@ -1,61 +1,34 @@
 #!/usr/bin/python
 
-# Copyright (c) 2012 Roger Light <roger@atchoo.org>
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-# 
-# 1. Redistributions of source code must retain the above copyright notice,
-#   this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in the
-#   documentation and/or other materials provided with the distribution.
-# 3. Neither the name of mosquitto nor the names of its
-#   contributors may be used to endorse or promote products derived from
-#   this software without specific prior written permission.
-# 
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-import mosquitto
+import paho.mqtt.client as mqtt
 import sys
 
-if mosquitto.topic_matches_sub("foo/bar", "foo/bar") == False:
+if mqtt.topic_matches_sub("foo/bar", "foo/bar") == False:
     print("ERROR: foo/bar : foo/bar")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+", "foo/bar") == False:
+if mqtt.topic_matches_sub("foo/+", "foo/bar") == False:
     print("ERROR: foo/+ : foo/bar")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/baz", "foo/bar/baz") == False:
+if mqtt.topic_matches_sub("foo/+/baz", "foo/bar/baz") == False:
     print("ERROR: foo/+/baz : foo/bar/baz")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/#", "foo/bar/baz") == False:
+if mqtt.topic_matches_sub("foo/+/#", "foo/bar/baz") == False:
     print("ERROR: foo/+/# : foo/bar/baz")
     sys.exit(1)
-if mosquitto.topic_matches_sub("#", "foo/bar/baz") == False:
+if mqtt.topic_matches_sub("#", "foo/bar/baz") == False:
     print("ERROR: # : foo/bar/baz")
     sys.exit(1)
 
-if mosquitto.topic_matches_sub("foo/bar", "foo") == True:
+if mqtt.topic_matches_sub("foo/bar", "foo") == True:
     print("ERROR: foo/bar : foo")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+", "foo/bar/baz") == True:
+if mqtt.topic_matches_sub("foo/+", "foo/bar/baz") == True:
     print("ERROR: foo/+ : foo/bar/baz")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/baz", "foo/bar/bar") == True:
+if mqtt.topic_matches_sub("foo/+/baz", "foo/bar/bar") == True:
     print("ERROR: foo/+/baz : foo/bar/bar")
     sys.exit(1)
-if mosquitto.topic_matches_sub("foo/+/#", "fo2/bar/baz") == True:
+if mqtt.topic_matches_sub("foo/+/#", "fo2/bar/baz") == True:
     print("ERROR: foo/+/# : foo/bar/baz")
     sys.exit(1)
 
diff --git a/test/mosq_test.py b/test/mosq_test.py
deleted file mode 100644 (file)
index 111e524..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-import struct
-
-def expect_packet(sock, name, expected):
-    if len(expected) > 0:
-        rlen = len(expected)
-    else:
-        rlen = 1
-
-    packet_recvd = sock.recv(rlen)
-    return packet_matches(name, packet_recvd, expected)
-
-def packet_matches(name, recvd, expected):
-    if recvd != expected:
-        print("FAIL: Received incorrect "+name+".")
-        try:
-            print("Received: "+to_string(recvd))
-        except struct.error:
-            print("Received (not decoded): "+recvd)
-        try:
-            print("Expected: "+to_string(expected))
-        except struct.error:
-            print("Expected (not decoded): "+expected)
-
-        return 0
-    else:
-        return 1
-
-def remaining_length(packet):
-    l = min(5, len(packet))
-    all_bytes = struct.unpack("!"+"B"*l, packet[:l])
-    mult = 1
-    rl = 0
-    for i in range(1,l-1):
-        byte = all_bytes[i]
-
-        rl += (byte & 127) * mult
-        mult *= 128
-        if byte & 128 == 0:
-            packet = packet[i+1:]
-            break
-
-    return (packet, rl)
-
-
-def to_string(packet):
-    if len(packet) == 0:
-        return ""
-
-    packet0 = struct.unpack("!B", packet[0])
-    packet0 = packet0[0]
-    cmd = packet0 & 0xF0
-    if cmd == 0x00:
-        # Reserved
-        return "0x00"
-    elif cmd == 0x10:
-        # CONNECT
-        (packet, rl) = remaining_length(packet)
-        pack_format = "!H" + str(len(packet)-2) + 's'
-        (slen, packet) = struct.unpack(pack_format, packet)
-        pack_format = "!" + str(slen)+'sBBH' + str(len(packet)-slen-4) + 's'
-        (protocol, proto_ver, flags, keepalive, packet) = struct.unpack(pack_format, packet)
-        s = "CONNECT, proto="+protocol+str(proto_ver)+", keepalive="+str(keepalive)
-        if flags&2:
-            s = s+", clean-session"
-        else:
-            s = s+", durable"
-
-        pack_format = "!H" + str(len(packet)-2) + 's'
-        (slen, packet) = struct.unpack(pack_format, packet)
-        pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
-        (client_id, packet) = struct.unpack(pack_format, packet)
-        s = s+", id="+client_id
-
-        if flags&4:
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (slen, packet) = struct.unpack(pack_format, packet)
-            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
-            (will_topic, packet) = struct.unpack(pack_format, packet)
-            s = s+", will-topic="+will_topic
-
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (slen, packet) = struct.unpack(pack_format, packet)
-            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
-            (will_message, packet) = struct.unpack(pack_format, packet)
-            s = s+", will-message="+will_message
-
-            s = s+", will-qos="+str((flags&24)>>3)
-            s = s+", will-retain="+str((flags&32)>>5)
-
-        if flags&128:
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (slen, packet) = struct.unpack(pack_format, packet)
-            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
-            (username, packet) = struct.unpack(pack_format, packet)
-            s = s+", username="+username
-
-        if flags&64:
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (slen, packet) = struct.unpack(pack_format, packet)
-            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
-            (password, packet) = struct.unpack(pack_format, packet)
-            s = s+", password="+password
-
-        return s
-    elif cmd == 0x20:
-        # CONNACK
-        (cmd, rl, resv, rc) = struct.unpack('!BBBB', packet)
-        return "CONNACK, rl="+str(rl)+", res="+str(resv)+", rc="+str(rc)
-    elif cmd == 0x30:
-        # PUBLISH
-        dup = (packet0 & 0x08)>>3
-        qos = (packet0 & 0x06)>>1
-        retain = (packet0 & 0x01)
-        (packet, rl) = remaining_length(packet)
-        pack_format = "!H" + str(len(packet)-2) + 's'
-        (tlen, packet) = struct.unpack(pack_format, packet)
-        pack_format = "!" + str(tlen)+'s' + str(len(packet)-tlen) + 's'
-        (topic, packet) = struct.unpack(pack_format, packet)
-        s = "PUBLISH, rl="+str(rl)+", topic="+topic+", qos="+str(qos)+", retain="+str(retain)+", dup="+str(dup)
-        if qos > 0:
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (mid, packet) = struct.unpack(pack_format, packet)
-            s = s + ", mid="+str(mid)
-
-        s = s + ", payload="+packet
-        return s
-    elif cmd == 0x40:
-        # PUBACK
-        (cmd, rl, mid) = struct.unpack('!BBH', packet)
-        return "PUBACK, rl="+str(rl)+", mid="+str(mid)
-    elif cmd == 0x50:
-        # PUBREC
-        (cmd, rl, mid) = struct.unpack('!BBH', packet)
-        return "PUBREC, rl="+str(rl)+", mid="+str(mid)
-    elif cmd == 0x60:
-        # PUBREL
-        dup = (packet0 & 0x08)>>3
-        (cmd, rl, mid) = struct.unpack('!BBH', packet)
-        return "PUBREL, rl="+str(rl)+", mid="+str(mid)+", dup="+str(dup)
-    elif cmd == 0x70:
-        # PUBCOMP
-        (cmd, rl, mid) = struct.unpack('!BBH', packet)
-        return "PUBCOMP, rl="+str(rl)+", mid="+str(mid)
-    elif cmd == 0x80:
-        # SUBSCRIBE
-        (packet, rl) = remaining_length(packet)
-        pack_format = "!H" + str(len(packet)-2) + 's'
-        (mid, packet) = struct.unpack(pack_format, packet)
-        s = "SUBSCRIBE, rl="+str(rl)+", mid="+str(mid)
-        topic_index = 0
-        while len(packet) > 0:
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (tlen, packet) = struct.unpack(pack_format, packet)
-            pack_format = "!" + str(tlen)+'sB' + str(len(packet)-tlen-1) + 's'
-            (topic, qos, packet) = struct.unpack(pack_format, packet)
-            s = s + ", topic"+str(topic_index)+"="+topic+","+str(qos)
-        return s
-    elif cmd == 0x90:
-        # SUBACK
-        (packet, rl) = remaining_length(packet)
-        pack_format = "!H" + str(len(packet)-2) + 's'
-        (mid, packet) = struct.unpack(pack_format, packet)
-        pack_format = "!" + "B"*len(packet)
-        granted_qos = struct.unpack(pack_format, packet)
-        
-        s = "SUBACK, rl="+str(rl)+", mid="+str(mid)+", granted_qos="+str(granted_qos[0])
-        for i in range(1, len(granted_qos)-1):
-            s = s+", "+str(granted_qos[i])
-        return s
-    elif cmd == 0xA0:
-        # UNSUBSCRIBE
-        (packet, rl) = remaining_length(packet)
-        pack_format = "!H" + str(len(packet)-2) + 's'
-        (mid, packet) = struct.unpack(pack_format, packet)
-        s = "UNSUBSCRIBE, rl="+str(rl)+", mid="+str(mid)
-        topic_index = 0
-        while len(packet) > 0:
-            pack_format = "!H" + str(len(packet)-2) + 's'
-            (tlen, packet) = struct.unpack(pack_format, packet)
-            pack_format = "!" + str(tlen)+'s' + str(len(packet)-tlen) + 's'
-            (topic, packet) = struct.unpack(pack_format, packet)
-            s = s + ", topic"+str(topic_index)+"="+topic
-        return s
-    elif cmd == 0xB0:
-        # UNSUBACK
-        (cmd, rl, mid) = struct.unpack('!BBH', packet)
-        return "UNSUBACK, rl="+str(rl)+", mid="+str(mid)
-    elif cmd == 0xC0:
-        # PINGREQ
-        (cmd, rl) = struct.unpack('!BB', packet)
-        return "PINGREQ, rl="+str(rl)
-    elif cmd == 0xD0:
-        # PINGRESP
-        (cmd, rl) = struct.unpack('!BB', packet)
-        return "PINGRESP, rl="+str(rl)
-    elif cmd == 0xE0:
-        # DISCONNECT
-        (cmd, rl) = struct.unpack('!BB', packet)
-        return "DISCONNECT, rl="+str(rl)
-    elif cmd == 0xF0:
-        # Reserved
-        return "0xF0"
-
-def gen_connect(client_id, clean_session=True, keepalive=60, username=None, password=None, will_topic=None, will_qos=0, will_retain=False, will_payload="", proto_ver=3):
-    if client_id == None:
-        remaining_length = 12
-    else:
-        remaining_length = 12 + 2+len(client_id)
-    connect_flags = 0
-    if clean_session:
-        connect_flags = connect_flags | 0x02
-
-    if will_topic != None:
-        remaining_length = remaining_length + 2+len(will_topic) + 2+len(will_payload)
-        connect_flags = connect_flags | 0x04 | ((will_qos&0x03) << 3)
-        if will_retain:
-            connect_flags = connect_flags | 32
-
-    if username != None:
-        remaining_length = remaining_length + 2+len(username)
-        connect_flags = connect_flags | 0x80
-        if password != None:
-            connect_flags = connect_flags | 0x40
-            remaining_length = remaining_length + 2+len(password)
-
-    rl = pack_remaining_length(remaining_length)
-    packet = struct.pack("!B"+str(len(rl))+"s", 0x10, rl)
-    packet = packet + struct.pack("!H6sBBH", len("MQIsdp"), "MQIsdp", proto_ver, connect_flags, keepalive)
-    if client_id != None:
-        packet = packet + struct.pack("!H"+str(len(client_id))+"s", len(client_id), client_id)
-
-    if will_topic != None:
-        packet = packet + struct.pack("!H"+str(len(will_topic))+"s", len(will_topic), will_topic)
-        if len(will_payload) > 0:
-            packet = packet + struct.pack("!H"+str(len(will_payload))+"s", len(will_payload), will_payload)
-        else:
-            packet = packet + struct.pack("!H", 0)
-
-    if username != None:
-        packet = packet + struct.pack("!H"+str(len(username))+"s", len(username), username)
-        if password != None:
-            packet = packet + struct.pack("!H"+str(len(password))+"s", len(password), password)
-    return packet
-
-def gen_connack(resv=0, rc=0):
-    return struct.pack('!BBBB', 32, 2, resv, rc);
-
-def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0):
-    rl = 2+len(topic)
-    pack_format = "!BBH"+str(len(topic))+"s"
-    if qos > 0:
-        rl = rl + 2
-        pack_format = pack_format + "H"
-    if payload != None:
-        rl = rl + len(payload)
-        pack_format = pack_format + str(len(payload))+"s"
-    else:
-        payload = ""
-        pack_format = pack_format + "0s"
-
-    cmd = 48 | (qos<<1)
-    if retain:
-        cmd = cmd + 1
-    if dup:
-        cmd = cmd + 8
-
-    if qos > 0:
-        return struct.pack(pack_format, cmd, rl, len(topic), topic, mid, payload)
-    else:
-        return struct.pack(pack_format, cmd, rl, len(topic), topic, payload)
-
-def gen_puback(mid):
-    return struct.pack('!BBH', 64, 2, mid)
-
-def gen_pubrec(mid):
-    return struct.pack('!BBH', 80, 2, mid)
-
-def gen_pubrel(mid, dup=False):
-    if dup:
-        cmd = 96+8+2
-    else:
-        cmd = 96+2
-    return struct.pack('!BBH', cmd, 2, mid)
-
-def gen_pubcomp(mid):
-    return struct.pack('!BBH', 112, 2, mid)
-
-def gen_subscribe(mid, topic, qos):
-    pack_format = "!BBHH"+str(len(topic))+"sB"
-    return struct.pack(pack_format, 130, 2+2+len(topic)+1, mid, len(topic), topic, qos)
-
-def gen_suback(mid, qos):
-    return struct.pack('!BBHB', 144, 2+1, mid, qos)
-
-def gen_unsubscribe(mid, topic):
-    pack_format = "!BBHH"+str(len(topic))+"s"
-    return struct.pack(pack_format, 162, 2+2+len(topic), mid, len(topic), topic)
-
-def gen_unsuback(mid):
-    return struct.pack('!BBH', 176, 2, mid)
-
-def gen_pingreq():
-    return struct.pack('!BB', 192, 0)
-
-def gen_pingresp():
-    return struct.pack('!BB', 208, 0)
-
-def gen_disconnect():
-    return struct.pack('!BB', 224, 0)
-
-def pack_remaining_length(remaining_length):
-    s = ""
-    while True:
-        byte = remaining_length % 128
-        remaining_length = remaining_length // 128
-        # If there are more digits to encode, set the top bit of this digit
-        if remaining_length > 0:
-            byte = byte | 0x80
-
-        s = s + struct.pack("!B", byte)
-        if remaining_length == 0:
-            return s
diff --git a/test/paho_test.py b/test/paho_test.py
new file mode 100644 (file)
index 0000000..111e524
--- /dev/null
@@ -0,0 +1,322 @@
+import struct
+
+def expect_packet(sock, name, expected):
+    if len(expected) > 0:
+        rlen = len(expected)
+    else:
+        rlen = 1
+
+    packet_recvd = sock.recv(rlen)
+    return packet_matches(name, packet_recvd, expected)
+
+def packet_matches(name, recvd, expected):
+    if recvd != expected:
+        print("FAIL: Received incorrect "+name+".")
+        try:
+            print("Received: "+to_string(recvd))
+        except struct.error:
+            print("Received (not decoded): "+recvd)
+        try:
+            print("Expected: "+to_string(expected))
+        except struct.error:
+            print("Expected (not decoded): "+expected)
+
+        return 0
+    else:
+        return 1
+
+def remaining_length(packet):
+    l = min(5, len(packet))
+    all_bytes = struct.unpack("!"+"B"*l, packet[:l])
+    mult = 1
+    rl = 0
+    for i in range(1,l-1):
+        byte = all_bytes[i]
+
+        rl += (byte & 127) * mult
+        mult *= 128
+        if byte & 128 == 0:
+            packet = packet[i+1:]
+            break
+
+    return (packet, rl)
+
+
+def to_string(packet):
+    if len(packet) == 0:
+        return ""
+
+    packet0 = struct.unpack("!B", packet[0])
+    packet0 = packet0[0]
+    cmd = packet0 & 0xF0
+    if cmd == 0x00:
+        # Reserved
+        return "0x00"
+    elif cmd == 0x10:
+        # CONNECT
+        (packet, rl) = remaining_length(packet)
+        pack_format = "!H" + str(len(packet)-2) + 's'
+        (slen, packet) = struct.unpack(pack_format, packet)
+        pack_format = "!" + str(slen)+'sBBH' + str(len(packet)-slen-4) + 's'
+        (protocol, proto_ver, flags, keepalive, packet) = struct.unpack(pack_format, packet)
+        s = "CONNECT, proto="+protocol+str(proto_ver)+", keepalive="+str(keepalive)
+        if flags&2:
+            s = s+", clean-session"
+        else:
+            s = s+", durable"
+
+        pack_format = "!H" + str(len(packet)-2) + 's'
+        (slen, packet) = struct.unpack(pack_format, packet)
+        pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
+        (client_id, packet) = struct.unpack(pack_format, packet)
+        s = s+", id="+client_id
+
+        if flags&4:
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (slen, packet) = struct.unpack(pack_format, packet)
+            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
+            (will_topic, packet) = struct.unpack(pack_format, packet)
+            s = s+", will-topic="+will_topic
+
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (slen, packet) = struct.unpack(pack_format, packet)
+            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
+            (will_message, packet) = struct.unpack(pack_format, packet)
+            s = s+", will-message="+will_message
+
+            s = s+", will-qos="+str((flags&24)>>3)
+            s = s+", will-retain="+str((flags&32)>>5)
+
+        if flags&128:
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (slen, packet) = struct.unpack(pack_format, packet)
+            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
+            (username, packet) = struct.unpack(pack_format, packet)
+            s = s+", username="+username
+
+        if flags&64:
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (slen, packet) = struct.unpack(pack_format, packet)
+            pack_format = "!" + str(slen)+'s' + str(len(packet)-slen) + 's'
+            (password, packet) = struct.unpack(pack_format, packet)
+            s = s+", password="+password
+
+        return s
+    elif cmd == 0x20:
+        # CONNACK
+        (cmd, rl, resv, rc) = struct.unpack('!BBBB', packet)
+        return "CONNACK, rl="+str(rl)+", res="+str(resv)+", rc="+str(rc)
+    elif cmd == 0x30:
+        # PUBLISH
+        dup = (packet0 & 0x08)>>3
+        qos = (packet0 & 0x06)>>1
+        retain = (packet0 & 0x01)
+        (packet, rl) = remaining_length(packet)
+        pack_format = "!H" + str(len(packet)-2) + 's'
+        (tlen, packet) = struct.unpack(pack_format, packet)
+        pack_format = "!" + str(tlen)+'s' + str(len(packet)-tlen) + 's'
+        (topic, packet) = struct.unpack(pack_format, packet)
+        s = "PUBLISH, rl="+str(rl)+", topic="+topic+", qos="+str(qos)+", retain="+str(retain)+", dup="+str(dup)
+        if qos > 0:
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (mid, packet) = struct.unpack(pack_format, packet)
+            s = s + ", mid="+str(mid)
+
+        s = s + ", payload="+packet
+        return s
+    elif cmd == 0x40:
+        # PUBACK
+        (cmd, rl, mid) = struct.unpack('!BBH', packet)
+        return "PUBACK, rl="+str(rl)+", mid="+str(mid)
+    elif cmd == 0x50:
+        # PUBREC
+        (cmd, rl, mid) = struct.unpack('!BBH', packet)
+        return "PUBREC, rl="+str(rl)+", mid="+str(mid)
+    elif cmd == 0x60:
+        # PUBREL
+        dup = (packet0 & 0x08)>>3
+        (cmd, rl, mid) = struct.unpack('!BBH', packet)
+        return "PUBREL, rl="+str(rl)+", mid="+str(mid)+", dup="+str(dup)
+    elif cmd == 0x70:
+        # PUBCOMP
+        (cmd, rl, mid) = struct.unpack('!BBH', packet)
+        return "PUBCOMP, rl="+str(rl)+", mid="+str(mid)
+    elif cmd == 0x80:
+        # SUBSCRIBE
+        (packet, rl) = remaining_length(packet)
+        pack_format = "!H" + str(len(packet)-2) + 's'
+        (mid, packet) = struct.unpack(pack_format, packet)
+        s = "SUBSCRIBE, rl="+str(rl)+", mid="+str(mid)
+        topic_index = 0
+        while len(packet) > 0:
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (tlen, packet) = struct.unpack(pack_format, packet)
+            pack_format = "!" + str(tlen)+'sB' + str(len(packet)-tlen-1) + 's'
+            (topic, qos, packet) = struct.unpack(pack_format, packet)
+            s = s + ", topic"+str(topic_index)+"="+topic+","+str(qos)
+        return s
+    elif cmd == 0x90:
+        # SUBACK
+        (packet, rl) = remaining_length(packet)
+        pack_format = "!H" + str(len(packet)-2) + 's'
+        (mid, packet) = struct.unpack(pack_format, packet)
+        pack_format = "!" + "B"*len(packet)
+        granted_qos = struct.unpack(pack_format, packet)
+        
+        s = "SUBACK, rl="+str(rl)+", mid="+str(mid)+", granted_qos="+str(granted_qos[0])
+        for i in range(1, len(granted_qos)-1):
+            s = s+", "+str(granted_qos[i])
+        return s
+    elif cmd == 0xA0:
+        # UNSUBSCRIBE
+        (packet, rl) = remaining_length(packet)
+        pack_format = "!H" + str(len(packet)-2) + 's'
+        (mid, packet) = struct.unpack(pack_format, packet)
+        s = "UNSUBSCRIBE, rl="+str(rl)+", mid="+str(mid)
+        topic_index = 0
+        while len(packet) > 0:
+            pack_format = "!H" + str(len(packet)-2) + 's'
+            (tlen, packet) = struct.unpack(pack_format, packet)
+            pack_format = "!" + str(tlen)+'s' + str(len(packet)-tlen) + 's'
+            (topic, packet) = struct.unpack(pack_format, packet)
+            s = s + ", topic"+str(topic_index)+"="+topic
+        return s
+    elif cmd == 0xB0:
+        # UNSUBACK
+        (cmd, rl, mid) = struct.unpack('!BBH', packet)
+        return "UNSUBACK, rl="+str(rl)+", mid="+str(mid)
+    elif cmd == 0xC0:
+        # PINGREQ
+        (cmd, rl) = struct.unpack('!BB', packet)
+        return "PINGREQ, rl="+str(rl)
+    elif cmd == 0xD0:
+        # PINGRESP
+        (cmd, rl) = struct.unpack('!BB', packet)
+        return "PINGRESP, rl="+str(rl)
+    elif cmd == 0xE0:
+        # DISCONNECT
+        (cmd, rl) = struct.unpack('!BB', packet)
+        return "DISCONNECT, rl="+str(rl)
+    elif cmd == 0xF0:
+        # Reserved
+        return "0xF0"
+
+def gen_connect(client_id, clean_session=True, keepalive=60, username=None, password=None, will_topic=None, will_qos=0, will_retain=False, will_payload="", proto_ver=3):
+    if client_id == None:
+        remaining_length = 12
+    else:
+        remaining_length = 12 + 2+len(client_id)
+    connect_flags = 0
+    if clean_session:
+        connect_flags = connect_flags | 0x02
+
+    if will_topic != None:
+        remaining_length = remaining_length + 2+len(will_topic) + 2+len(will_payload)
+        connect_flags = connect_flags | 0x04 | ((will_qos&0x03) << 3)
+        if will_retain:
+            connect_flags = connect_flags | 32
+
+    if username != None:
+        remaining_length = remaining_length + 2+len(username)
+        connect_flags = connect_flags | 0x80
+        if password != None:
+            connect_flags = connect_flags | 0x40
+            remaining_length = remaining_length + 2+len(password)
+
+    rl = pack_remaining_length(remaining_length)
+    packet = struct.pack("!B"+str(len(rl))+"s", 0x10, rl)
+    packet = packet + struct.pack("!H6sBBH", len("MQIsdp"), "MQIsdp", proto_ver, connect_flags, keepalive)
+    if client_id != None:
+        packet = packet + struct.pack("!H"+str(len(client_id))+"s", len(client_id), client_id)
+
+    if will_topic != None:
+        packet = packet + struct.pack("!H"+str(len(will_topic))+"s", len(will_topic), will_topic)
+        if len(will_payload) > 0:
+            packet = packet + struct.pack("!H"+str(len(will_payload))+"s", len(will_payload), will_payload)
+        else:
+            packet = packet + struct.pack("!H", 0)
+
+    if username != None:
+        packet = packet + struct.pack("!H"+str(len(username))+"s", len(username), username)
+        if password != None:
+            packet = packet + struct.pack("!H"+str(len(password))+"s", len(password), password)
+    return packet
+
+def gen_connack(resv=0, rc=0):
+    return struct.pack('!BBBB', 32, 2, resv, rc);
+
+def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0):
+    rl = 2+len(topic)
+    pack_format = "!BBH"+str(len(topic))+"s"
+    if qos > 0:
+        rl = rl + 2
+        pack_format = pack_format + "H"
+    if payload != None:
+        rl = rl + len(payload)
+        pack_format = pack_format + str(len(payload))+"s"
+    else:
+        payload = ""
+        pack_format = pack_format + "0s"
+
+    cmd = 48 | (qos<<1)
+    if retain:
+        cmd = cmd + 1
+    if dup:
+        cmd = cmd + 8
+
+    if qos > 0:
+        return struct.pack(pack_format, cmd, rl, len(topic), topic, mid, payload)
+    else:
+        return struct.pack(pack_format, cmd, rl, len(topic), topic, payload)
+
+def gen_puback(mid):
+    return struct.pack('!BBH', 64, 2, mid)
+
+def gen_pubrec(mid):
+    return struct.pack('!BBH', 80, 2, mid)
+
+def gen_pubrel(mid, dup=False):
+    if dup:
+        cmd = 96+8+2
+    else:
+        cmd = 96+2
+    return struct.pack('!BBH', cmd, 2, mid)
+
+def gen_pubcomp(mid):
+    return struct.pack('!BBH', 112, 2, mid)
+
+def gen_subscribe(mid, topic, qos):
+    pack_format = "!BBHH"+str(len(topic))+"sB"
+    return struct.pack(pack_format, 130, 2+2+len(topic)+1, mid, len(topic), topic, qos)
+
+def gen_suback(mid, qos):
+    return struct.pack('!BBHB', 144, 2+1, mid, qos)
+
+def gen_unsubscribe(mid, topic):
+    pack_format = "!BBHH"+str(len(topic))+"s"
+    return struct.pack(pack_format, 162, 2+2+len(topic), mid, len(topic), topic)
+
+def gen_unsuback(mid):
+    return struct.pack('!BBH', 176, 2, mid)
+
+def gen_pingreq():
+    return struct.pack('!BB', 192, 0)
+
+def gen_pingresp():
+    return struct.pack('!BB', 208, 0)
+
+def gen_disconnect():
+    return struct.pack('!BB', 224, 0)
+
+def pack_remaining_length(remaining_length):
+    s = ""
+    while True:
+        byte = remaining_length % 128
+        remaining_length = remaining_length // 128
+        # If there are more digits to encode, set the top bit of this digit
+        if remaining_length > 0:
+            byte = byte | 0x80
+
+        s = s + struct.pack("!B", byte)
+        if remaining_length == 0:
+            return s