diff --git a/src/gateway/server.node-invoke-approval-bypass.test.ts b/src/gateway/server.node-invoke-approval-bypass.test.ts index 69c0e5c43ef..589d4bbd1c1 100644 --- a/src/gateway/server.node-invoke-approval-bypass.test.ts +++ b/src/gateway/server.node-invoke-approval-bypass.test.ts @@ -275,12 +275,22 @@ describe("node.invoke approval bypass", () => { }, }); client.start(); - await Promise.race([ - ready, - sleep(NODE_CONNECT_TIMEOUT_MS).then(() => { - throw new Error("timeout waiting for node to connect"); - }), - ]); + let timer: NodeJS.Timeout | undefined; + try { + await Promise.race([ + ready, + new Promise((_, reject) => { + timer = setTimeout( + () => reject(new Error("timeout waiting for node to connect")), + NODE_CONNECT_TIMEOUT_MS, + ); + }), + ]); + } finally { + if (timer) { + clearTimeout(timer); + } + } return client; };