summaryrefslogtreecommitdiff
path: root/cli/tests/unit_node
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit_node')
-rw-r--r--cli/tests/unit_node/child_process_test.ts12
-rw-r--r--cli/tests/unit_node/net_test.ts6
2 files changed, 18 insertions, 0 deletions
diff --git a/cli/tests/unit_node/child_process_test.ts b/cli/tests/unit_node/child_process_test.ts
index a282977e0..8d1c9a6b7 100644
--- a/cli/tests/unit_node/child_process_test.ts
+++ b/cli/tests/unit_node/child_process_test.ts
@@ -497,9 +497,15 @@ Deno.test({
);
const childProcess = spawn(Deno.execPath(), ["run", script]);
const p = withTimeout();
+ const pStdout = withTimeout();
+ const pStderr = withTimeout();
childProcess.on("exit", () => p.resolve());
+ childProcess.stdout.on("close", () => pStdout.resolve());
+ childProcess.stderr.on("close", () => pStderr.resolve());
childProcess.kill("SIGKILL");
await p;
+ await pStdout;
+ await pStderr;
assert(childProcess.killed);
assertEquals(childProcess.signalCode, "SIGKILL");
assertExists(childProcess.exitCode);
@@ -633,9 +639,15 @@ Deno.test({
// Spawn an infinite cat
const cp = spawn("cat", ["-"]);
const p = withTimeout();
+ const pStdout = withTimeout();
+ const pStderr = withTimeout();
cp.on("exit", () => p.resolve());
+ cp.stdout.on("close", () => pStdout.resolve());
+ cp.stderr.on("close", () => pStderr.resolve());
cp.kill("SIGIOT");
await p;
+ await pStdout;
+ await pStderr;
assert(cp.killed);
assertEquals(cp.signalCode, "SIGIOT");
},
diff --git a/cli/tests/unit_node/net_test.ts b/cli/tests/unit_node/net_test.ts
index b9d9b796a..ca9d214e1 100644
--- a/cli/tests/unit_node/net_test.ts
+++ b/cli/tests/unit_node/net_test.ts
@@ -143,12 +143,17 @@ Deno.test("[node/net] multiple Sockets should get correct server data", async ()
}
const finished = deferred();
+ const serverSocketsClosed: Deferred<undefined>[] = [];
const server = net.createServer();
server.on("connection", (socket) => {
assert(socket !== undefined);
+ const i = serverSocketsClosed.push(deferred());
socket.on("data", (data) => {
socket.write(new TextDecoder().decode(data));
});
+ socket.on("close", () => {
+ serverSocketsClosed[i - 1].resolve();
+ });
});
const sockets: TestSocket[] = [];
@@ -190,6 +195,7 @@ Deno.test("[node/net] multiple Sockets should get correct server data", async ()
});
await finished;
+ await Promise.all(serverSocketsClosed);
for (let i = 0; i < socketCount; i++) {
assertEquals(sockets[i].events, [`${i}`.repeat(3), `${i}`.repeat(3)]);