From ebd8376dca4c795f0022c9a20d7d3ba46039fdb3 Mon Sep 17 00:00:00 2001 From: Roger Light Date: Mon, 27 Apr 2026 12:24:20 +0100 Subject: [PATCH] Tests: Fix lib msg sequence on Windows --- test/lib/msg_sequence_test.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/test/lib/msg_sequence_test.py b/test/lib/msg_sequence_test.py index a852b15b..1d6e74e1 100755 --- a/test/lib/msg_sequence_test.py +++ b/test/lib/msg_sequence_test.py @@ -10,6 +10,8 @@ import socket import json from collections import deque import mosq_test +import platform +import signal send = 1 recv = 2 @@ -101,12 +103,19 @@ class MsgSequence(object): if self.command is not None: cmd.append(self.command) - self.client = subprocess.Popen(cmd, stderr=subprocess.PIPE, env=env) + if platform.system() == 'Windows': + self.client = subprocess.Popen(cmd, stderr=subprocess.PIPE, env=env, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP) + else: + self.client = subprocess.Popen(cmd, stderr=subprocess.PIPE, env=env) + (self.sock, _) = server_sock.accept() def kill_client(self): self.sock.close() - self.client.terminate() + if platform.system() == 'Windows': + self.client.send_signal(signal.CTRL_C_EVENT) + else: + self.client.terminate() self.client.wait() if self.client.returncode != 0: raise RuntimeError