mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-05-21 12:24:29 +02:00
Tests: Fix client env tests for Windows
This commit is contained in:
parent
4ce0ae8ca7
commit
cc81a693b3
|
|
@ -3,10 +3,11 @@
|
|||
#
|
||||
|
||||
from mosq_test_helper import *
|
||||
import platform
|
||||
|
||||
mosq_test.require_features(["WITH_BROKER"])
|
||||
|
||||
def do_test(proto_ver, env):
|
||||
def do_test(proto_ver, configenv):
|
||||
rc = 1
|
||||
|
||||
port = mosq_test.get_port()
|
||||
|
|
@ -18,7 +19,14 @@ def do_test(proto_ver, env):
|
|||
else:
|
||||
V = 'mqttv31'
|
||||
|
||||
env = mosq_test.env_add_ld_library_path(env)
|
||||
env = mosq_test.env_add_ld_library_path()
|
||||
for e in ['XDG_CONFIG_HOME', 'HOME', 'USERPROFILE']:
|
||||
try:
|
||||
del env[e]
|
||||
except KeyError:
|
||||
pass
|
||||
env.update(configenv)
|
||||
|
||||
cmd = [mosq_paths.mosquitto_sub,
|
||||
'-p', str(port),
|
||||
'-q', '1',
|
||||
|
|
@ -26,10 +34,10 @@ def do_test(proto_ver, env):
|
|||
'-C', '1'
|
||||
]
|
||||
|
||||
payload = "message"
|
||||
payload = "783c9cc5-5ad8-433f-a4ee-7dcd978c90a8"
|
||||
publish_packet_s = mosq_test.gen_publish("env/config/file/sub", qos=1, mid=1, payload=payload, proto_ver=proto_ver, retain=True)
|
||||
publish_packet_r = mosq_test.gen_publish("env/config/file/sub", qos=1, mid=2, payload=payload, proto_ver=proto_ver, retain=True)
|
||||
puback_packet_s = mosq_test.gen_puback(1, proto_ver=proto_ver)
|
||||
puback_packet_s = mosq_test.gen_puback(1, proto_ver=proto_ver, reason_code=mqtt5_rc.NO_MATCHING_SUBSCRIBERS)
|
||||
puback_packet_r = mosq_test.gen_puback(2, proto_ver=proto_ver)
|
||||
|
||||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||
|
|
@ -58,12 +66,18 @@ def do_test(proto_ver, env):
|
|||
exit(rc)
|
||||
|
||||
|
||||
env = {'HOME': str(source_dir / 'data')}
|
||||
do_test(proto_ver=3, env=env)
|
||||
do_test(proto_ver=4, env=env)
|
||||
do_test(proto_ver=5, env=env)
|
||||
if platform.system() == 'Windows':
|
||||
env = {'USERPROFILE': str(source_dir / 'data' / '.config')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
else:
|
||||
env = {'HOME': str(source_dir / 'data')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
|
||||
env = {'XDG_CONFIG_HOME': str(source_dir / 'data/.config')}
|
||||
do_test(proto_ver=3, env=env)
|
||||
do_test(proto_ver=4, env=env)
|
||||
do_test(proto_ver=5, env=env)
|
||||
env = {'XDG_CONFIG_HOME': str(source_dir / 'data' / '.config')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
|
|
|
|||
|
|
@ -3,10 +3,11 @@
|
|||
#
|
||||
|
||||
from mosq_test_helper import *
|
||||
import platform
|
||||
|
||||
mosq_test.require_features(["WITH_BROKER"])
|
||||
|
||||
def do_test(proto_ver, env):
|
||||
def do_test(proto_ver, configenv):
|
||||
rc = 1
|
||||
|
||||
port = mosq_test.get_port()
|
||||
|
|
@ -18,7 +19,13 @@ def do_test(proto_ver, env):
|
|||
else:
|
||||
V = 'mqttv31'
|
||||
|
||||
env = mosq_test.env_add_ld_library_path(env)
|
||||
env = mosq_test.env_add_ld_library_path()
|
||||
for e in ['XDG_CONFIG_HOME', 'HOME', 'USERPROFILE']:
|
||||
try:
|
||||
del env[e]
|
||||
except KeyError:
|
||||
pass
|
||||
env.update(configenv)
|
||||
cmd = [mosq_paths.mosquitto_pub,
|
||||
'-p', str(port),
|
||||
'-q', '1',
|
||||
|
|
@ -37,7 +44,7 @@ def do_test(proto_ver, env):
|
|||
try:
|
||||
sock = mosq_test.sub_helper(port=port, topic="#", qos=1, proto_ver=proto_ver)
|
||||
|
||||
pub = subprocess.run(cmd, capture_output=True, env=env)
|
||||
pub = subprocess.run(cmd, capture_output=True, text=True, env=env)
|
||||
|
||||
mosq_test.expect_packet(sock, "publish", publish_packet)
|
||||
rc = pub.returncode
|
||||
|
|
@ -57,12 +64,18 @@ def do_test(proto_ver, env):
|
|||
exit(rc)
|
||||
|
||||
|
||||
env = {'HOME': str(source_dir / 'data')}
|
||||
do_test(proto_ver=3, env=env)
|
||||
do_test(proto_ver=4, env=env)
|
||||
do_test(proto_ver=5, env=env)
|
||||
if platform.system() == 'Windows':
|
||||
env = {'USERPROFILE': str(source_dir / 'data' / '.config')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
else:
|
||||
env = {'HOME': str(source_dir / 'data')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
|
||||
env = {'XDG_CONFIG_HOME': str(source_dir / 'data/.config')}
|
||||
do_test(proto_ver=3, env=env)
|
||||
do_test(proto_ver=4, env=env)
|
||||
do_test(proto_ver=5, env=env)
|
||||
env = {'XDG_CONFIG_HOME': str(source_dir / 'data' / '.config')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
|
|
|
|||
|
|
@ -3,10 +3,11 @@
|
|||
#
|
||||
|
||||
from mosq_test_helper import *
|
||||
import platform
|
||||
|
||||
mosq_test.require_features(["WITH_BROKER"])
|
||||
|
||||
def do_test(proto_ver, env):
|
||||
def do_test(proto_ver, configenv):
|
||||
rc = 1
|
||||
|
||||
port = mosq_test.get_port()
|
||||
|
|
@ -18,14 +19,18 @@ def do_test(proto_ver, env):
|
|||
else:
|
||||
V = 'mqttv31'
|
||||
|
||||
env = mosq_test.env_add_ld_library_path(env)
|
||||
env = mosq_test.env_add_ld_library_path()
|
||||
for e in ['XDG_CONFIG_HOME', 'HOME', 'USERPROFILE']:
|
||||
try:
|
||||
del env[e]
|
||||
except KeyError:
|
||||
pass
|
||||
env.update(configenv)
|
||||
|
||||
payload = "message"
|
||||
payload = "e126014f-fa4d-4c4c-8138-6cedb2d32aff"
|
||||
cmd = [mosq_paths.mosquitto_rr,
|
||||
'-p', str(port),
|
||||
'-q', '1',
|
||||
'-t', '04/rr/qos1/test/request',
|
||||
'-e', '04/rr/qos1/test/response',
|
||||
'-V', V,
|
||||
'-m', payload
|
||||
]
|
||||
|
|
@ -45,7 +50,7 @@ def do_test(proto_ver, env):
|
|||
try:
|
||||
sock = mosq_test.sub_helper(port=port, topic="04/rr/qos1/test/request", qos=1, proto_ver=proto_ver)
|
||||
|
||||
rr = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
|
||||
rr = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, env=env)
|
||||
|
||||
mosq_test.expect_packet(sock, "publish", publish_packet_req)
|
||||
sock.send(puback_packet_req)
|
||||
|
|
@ -59,7 +64,7 @@ def do_test(proto_ver, env):
|
|||
print("rr not terminated")
|
||||
rr_terminate_rc = 1
|
||||
(stdo, stde) = rr.communicate()
|
||||
if stdo.decode('utf-8') == payload + '\n':
|
||||
if payload in stdo:
|
||||
rc = rr_terminate_rc
|
||||
sock.close()
|
||||
except mosq_test.TestError:
|
||||
|
|
@ -72,17 +77,26 @@ def do_test(proto_ver, env):
|
|||
print("broker not terminated")
|
||||
if rc == 0: rc=1
|
||||
if rc:
|
||||
(stdo, stde) = rr.communicate()
|
||||
print(stdo)
|
||||
print(stde)
|
||||
print(mosq_test.broker_log(broker))
|
||||
print("proto_ver=%d" % (proto_ver))
|
||||
exit(rc)
|
||||
|
||||
|
||||
env = {'HOME': str(source_dir / 'data')}
|
||||
do_test(proto_ver=3, env=env)
|
||||
do_test(proto_ver=4, env=env)
|
||||
do_test(proto_ver=5, env=env)
|
||||
if platform.system() == 'Windows':
|
||||
env = {'USERPROFILE': str(source_dir / 'data' / '.config')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
else:
|
||||
env = {'HOME': str(source_dir / 'data')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
|
||||
env = {'XDG_CONFIG_HOME': str(source_dir / 'data/.config')}
|
||||
do_test(proto_ver=3, env=env)
|
||||
do_test(proto_ver=4, env=env)
|
||||
do_test(proto_ver=5, env=env)
|
||||
env = {'XDG_CONFIG_HOME': str(source_dir / 'data' / '.config')}
|
||||
do_test(proto_ver=3, configenv=env)
|
||||
do_test(proto_ver=4, configenv=env)
|
||||
do_test(proto_ver=5, configenv=env)
|
||||
|
|
|
|||
2
test/client/data/.config/mosquitto_pub.conf
Normal file
2
test/client/data/.config/mosquitto_pub.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
-t env/config/file/pub
|
||||
-m message
|
||||
2
test/client/data/.config/mosquitto_rr
Normal file
2
test/client/data/.config/mosquitto_rr
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
-t 04/rr/qos1/test/request
|
||||
-e 04/rr/qos1/test/response
|
||||
2
test/client/data/.config/mosquitto_rr.conf
Normal file
2
test/client/data/.config/mosquitto_rr.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
-t 04/rr/qos1/test/request
|
||||
-e 04/rr/qos1/test/response
|
||||
1
test/client/data/.config/mosquitto_sub.conf
Normal file
1
test/client/data/.config/mosquitto_sub.conf
Normal file
|
|
@ -0,0 +1 @@
|
|||
-t env/config/file/sub
|
||||
Loading…
Reference in a new issue