Skip to content

Commit 010b617

Browse files
authored
test: avoid cross-os socket close race (#99642)
1 parent d29a4f9 commit 010b617

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

test/scripts/openclaw-cross-os-release-checks.test.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -974,6 +974,11 @@ describe("scripts/openclaw-cross-os-release-checks", () => {
974974
socket.once("connect", resolve);
975975
socket.once("error", reject);
976976
});
977+
// Subscribe before shutdown because the one-shot client close event may
978+
// arrive before the server close callback resolves.
979+
const socketClosePromise = new Promise<void>((resolve) => {
980+
socket.once("close", resolve);
981+
});
977982
socket.write(`GET ${url.pathname} HTTP/1.1\r\nHost: ${url.host}\r\n\r\n`);
978983
await Promise.race([
979984
server.close(),
@@ -982,9 +987,7 @@ describe("scripts/openclaw-cross-os-release-checks", () => {
982987
}),
983988
]);
984989
await Promise.race([
985-
new Promise<void>((resolve) => {
986-
socket.once("close", resolve);
987-
}),
990+
socketClosePromise,
988991
delay(1_000).then(() => {
989992
throw new Error("socket close timed out");
990993
}),

0 commit comments

Comments
 (0)