Improve client test for unexpected pubrel.

This commit is contained in:
Roger A. Light 2020-05-05 23:24:06 +01:00
parent 946257bf30
commit c343812c42
2 changed files with 7 additions and 1 deletions

View File

@ -20,6 +20,8 @@ pubrec_packet = mosq_test.gen_pubrec(mid)
pubrel_packet = mosq_test.gen_pubrel(mid) pubrel_packet = mosq_test.gen_pubrel(mid)
pubcomp_packet = mosq_test.gen_pubcomp(mid) pubcomp_packet = mosq_test.gen_pubcomp(mid)
publish_quit_packet = mosq_test.gen_publish("quit", qos=0, payload="quit")
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.settimeout(10) sock.settimeout(10)
@ -52,6 +54,7 @@ try:
conn.send(pubrel_packet) conn.send(pubrel_packet)
if mosq_test.expect_packet(conn, "pubcomp", pubcomp_packet): if mosq_test.expect_packet(conn, "pubcomp", pubcomp_packet):
conn.send(publish_quit_packet)
rc = 0 rc = 0
conn.close() conn.close()

View File

@ -15,6 +15,10 @@ void on_connect(struct mosquitto *mosq, void *obj, int rc)
void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message *msg) void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message *msg)
{ {
if(!strcmp(msg->topic, "quit")){
run = 0;
return;
}
if(msg->mid != 13423){ if(msg->mid != 13423){
printf("Invalid mid (%d)\n", msg->mid); printf("Invalid mid (%d)\n", msg->mid);
exit(1); exit(1);
@ -40,7 +44,6 @@ void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_messag
exit(1); exit(1);
} }
run = 0;
} }
int main(int argc, char *argv[]) int main(int argc, char *argv[])