summaryrefslogtreecommitdiff
path: root/cli/tests/unit/signal_test.ts
diff options
context:
space:
mode:
authorYoshiya Hinosawa <stibium121@gmail.com>2021-06-25 13:15:35 +0900
committerGitHub <noreply@github.com>2021-06-25 13:15:35 +0900
commit606611708c4351e9f5e0e3b975f9331d95168efb (patch)
tree38cf330854d59d9bb48d51c9edf2ae982cfe6804 /cli/tests/unit/signal_test.ts
parent66c5f41c5bd5fa08daa09f8650135000c1787829 (diff)
fix(runtime/signal): use op_async_unref for op_signal_poll (#11097)
Diffstat (limited to 'cli/tests/unit/signal_test.ts')
-rw-r--r--cli/tests/unit/signal_test.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/cli/tests/unit/signal_test.ts b/cli/tests/unit/signal_test.ts
index 9deca0837..340ec43eb 100644
--- a/cli/tests/unit/signal_test.ts
+++ b/cli/tests/unit/signal_test.ts
@@ -129,6 +129,24 @@ unitTest(
},
);
+// This tests that pending op_signal_poll doesn't block the runtime from exiting the process.
+unitTest(
+ { ignore: Deno.build.os === "windows", perms: { run: true, read: true } },
+ async function signalStreamExitTest(): Promise<void> {
+ const p = Deno.run({
+ cmd: [
+ Deno.execPath(),
+ "eval",
+ "--unstable",
+ "(async () => { for await (const _ of Deno.signals.io()) {} })()",
+ ],
+ });
+ const res = await p.status();
+ assertEquals(res.code, 0);
+ p.close();
+ },
+);
+
unitTest(
{ ignore: Deno.build.os === "windows", perms: { run: true } },
async function signalPromiseTest(): Promise<void> {