mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-08-17 17:41:58 +08:00
Tests: Split 15-persist-client-will for speed
This commit is contained in:
committed by
Roger Light
parent
9037fbf4d5
commit
7bc1a58f3a
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Connect a client, add a subscription, disconnect, send a message with a
|
||||
# different client, restore, reconnect, check it is received.
|
||||
|
||||
from mosq_test_helper import *
|
||||
from persist_client_will_core import do_test
|
||||
|
||||
send_will_disconnect_rc = mqtt5_rc.DISCONNECT_WITH_WILL_MSG
|
||||
normal_disconnect_rc = mqtt5_rc.NORMAL_DISCONNECTION
|
||||
|
||||
# Run test with different parameters:
|
||||
# If disconnect_rc is not set the client will not disconnect
|
||||
# session_expiry, will qos, will retain, disconnect_rc
|
||||
|
||||
send_will_disconnect_rc = mqtt5_rc.DISCONNECT_WITH_WILL_MSG
|
||||
|
||||
# non persistent client connected during crash
|
||||
do_test(0, 0, 0)
|
||||
do_test(0, 1, 0)
|
||||
do_test(0, 0, 1)
|
||||
do_test(0, 1, 1)
|
||||
|
||||
# non persistent client connected during crash, will delay does not matter
|
||||
do_test(0, 0, 0, will_delay=30)
|
||||
do_test(0, 1, 0, will_delay=30)
|
||||
do_test(0, 0, 1, will_delay=30)
|
||||
do_test(0, 1, 1, will_delay=30)
|
||||
|
||||
# non persistent client disconnecting with will sent before crash
|
||||
do_test(0, 0, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(0, 1, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(0, 0, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(0, 1, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
|
||||
# non persistent client disconnecting without will sent before crash
|
||||
do_test(0, 0, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(0, 1, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(0, 0, 1, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(0, 1, 1, disconnect_rc=normal_disconnect_rc)
|
||||
|
||||
# Remove will msg by session takeover through reconnect
|
||||
do_test(0, 1, 1, disconnect_rc=mqtt5_rc.SESSION_TAKEN_OVER)
|
||||
# do_test(60, 1, 1, disconnect_rc=mqtt5_rc.SESSION_TAKEN_OVER)
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Connect a client, add a subscription, disconnect, send a message with a
|
||||
# different client, restore, reconnect, check it is received.
|
||||
|
||||
from mosq_test_helper import *
|
||||
from persist_client_will_core import do_test
|
||||
|
||||
send_will_disconnect_rc = mqtt5_rc.DISCONNECT_WITH_WILL_MSG
|
||||
normal_disconnect_rc = mqtt5_rc.NORMAL_DISCONNECTION
|
||||
|
||||
# Run test with different parameters:
|
||||
# If disconnect_rc is not set the client will not disconnect
|
||||
# session_expiry, will qos, will retain, disconnect_rc
|
||||
|
||||
send_will_disconnect_rc = mqtt5_rc.DISCONNECT_WITH_WILL_MSG
|
||||
|
||||
# persistent client connected during crash
|
||||
do_test(60, 0, 0)
|
||||
do_test(60, 1, 0)
|
||||
do_test(60, 0, 1)
|
||||
do_test(60, 1, 1)
|
||||
|
||||
# persistent client connected during crash with a will delay of 30 seconds
|
||||
do_test(60, 0, 0, will_delay=30)
|
||||
do_test(60, 1, 0, will_delay=30)
|
||||
do_test(60, 0, 1, will_delay=30)
|
||||
do_test(60, 1, 1, will_delay=30)
|
||||
|
||||
# persistent client disconnecting with will sent before crash
|
||||
do_test(60, 0, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 0, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
|
||||
# persistent client disconnecting without will sent before crash
|
||||
do_test(60, 0, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(60, 1, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(60, 0, 1, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(60, 1, 1, disconnect_rc=normal_disconnect_rc)
|
||||
|
||||
# persistent client disconnecting with will sent, but will delay
|
||||
do_test(60, 0, 0, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 0, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 0, 1, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 1, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
|
||||
# Remove will msg by session takeover through reconnect
|
||||
do_test(0, 1, 1, disconnect_rc=mqtt5_rc.SESSION_TAKEN_OVER)
|
||||
# do_test(60, 1, 1, disconnect_rc=mqtt5_rc.SESSION_TAKEN_OVER)
|
||||
@@ -279,7 +279,8 @@ PERSIST_TESTS = \
|
||||
./15-persist-client-msg-out-v5-0.py \
|
||||
./15-persist-client-v3-1-1.py \
|
||||
./15-persist-client-v5-0.py \
|
||||
./15-persist-client-will.py \
|
||||
./15-persist-client-will-clean.py \
|
||||
./15-persist-client-will-persistent.py \
|
||||
./15-persist-publish-properties-v5-0.py \
|
||||
./15-persist-retain-clear.py \
|
||||
./15-persist-retain-v3-1-1.py \
|
||||
|
||||
@@ -234,68 +234,3 @@ def do_test(
|
||||
print("Broker after restart")
|
||||
print(stde2)
|
||||
# assert rc == 0, f"rc: {rc}"
|
||||
|
||||
|
||||
# Run test with different parameters:
|
||||
# If disconnect_rc is not set the client will not disconnect
|
||||
# session_expiry, will qos, will retain, disconnect_rc
|
||||
|
||||
send_will_disconnect_rc = mqtt5_rc.DISCONNECT_WITH_WILL_MSG
|
||||
|
||||
# non persistent client connected during crash
|
||||
do_test(0, 0, 0)
|
||||
do_test(0, 1, 0)
|
||||
do_test(0, 0, 1)
|
||||
do_test(0, 1, 1)
|
||||
|
||||
# non persistent client connected during crash, will delay does not matter
|
||||
do_test(0, 0, 0, will_delay=30)
|
||||
do_test(0, 1, 0, will_delay=30)
|
||||
do_test(0, 0, 1, will_delay=30)
|
||||
do_test(0, 1, 1, will_delay=30)
|
||||
|
||||
# non persistent client disconnecting with will sent before crash
|
||||
do_test(0, 0, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(0, 1, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(0, 0, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(0, 1, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
|
||||
# non persistent client disconnecting without will sent before crash
|
||||
do_test(0, 0, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(0, 1, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(0, 0, 1, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(0, 1, 1, disconnect_rc=normal_disconnect_rc)
|
||||
|
||||
# persistent client connected during crash
|
||||
do_test(60, 0, 0)
|
||||
do_test(60, 1, 0)
|
||||
do_test(60, 0, 1)
|
||||
do_test(60, 1, 1)
|
||||
|
||||
# persistent client connected during crash with a will delay of 30 seconds
|
||||
do_test(60, 0, 0, will_delay=30)
|
||||
do_test(60, 1, 0, will_delay=30)
|
||||
do_test(60, 0, 1, will_delay=30)
|
||||
do_test(60, 1, 1, will_delay=30)
|
||||
|
||||
# persistent client disconnecting with will sent before crash
|
||||
do_test(60, 0, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 0, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 0, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 1, disconnect_rc=send_will_disconnect_rc)
|
||||
|
||||
# persistent client disconnecting without will sent before crash
|
||||
do_test(60, 0, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(60, 1, 0, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(60, 0, 1, disconnect_rc=normal_disconnect_rc)
|
||||
do_test(60, 1, 1, disconnect_rc=normal_disconnect_rc)
|
||||
|
||||
# persistent client disconnecting with will sent, but will delay
|
||||
do_test(60, 0, 0, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 0, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 0, 1, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
do_test(60, 1, 1, will_delay=30, disconnect_rc=send_will_disconnect_rc)
|
||||
|
||||
# Remove will msg by session takeover through reconnect
|
||||
do_test(0, 1, 1, disconnect_rc=mqtt5_rc.SESSION_TAKEN_OVER)
|
||||
# do_test(60, 1, 1, disconnect_rc=mqtt5_rc.SESSION_TAKEN_OVER)
|
||||
@@ -237,6 +237,8 @@ tests = [
|
||||
(2, './15-persist-client-msg-out-v5-0.py', 'persist_sqlite'),
|
||||
(2, './15-persist-client-v3-1-1.py', 'persist_sqlite'),
|
||||
(2, './15-persist-client-v5-0.py', 'persist_sqlite'),
|
||||
(2, './15-persist-client-will-clean.py', 'persist_sqlite'),
|
||||
(2, './15-persist-client-will-persistent.py', 'persist_sqlite'),
|
||||
(2, './15-persist-publish-properties-v5-0.py', 'persist_sqlite'),
|
||||
(2, './15-persist-retain-clear.py', 'persist_sqlite'),
|
||||
(2, './15-persist-retain-v3-1-1.py', 'persist_sqlite'),
|
||||
|
||||
Reference in New Issue
Block a user