summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/tests/unit/signal_test.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/cli/tests/unit/signal_test.ts b/cli/tests/unit/signal_test.ts
index 801e15d8b..e0e94b49a 100644
--- a/cli/tests/unit/signal_test.ts
+++ b/cli/tests/unit/signal_test.ts
@@ -154,6 +154,35 @@ unitTest(
},
);
+// https://github.com/denoland/deno/issues/9806
+unitTest(
+ { ignore: Deno.build.os === "windows", perms: { run: true } },
+ async function signalPromiseTest2(): Promise<void> {
+ const resolvable = deferred();
+ // This prevents the program from exiting.
+ const t = setInterval(() => {}, 1000);
+
+ let called = false;
+ const sig = Deno.signal(Deno.Signal.SIGUSR1);
+ sig.then(() => {
+ called = true;
+ });
+ setTimeout(() => {
+ sig.dispose();
+ setTimeout(() => {
+ resolvable.resolve();
+ }, 10);
+ }, 10);
+
+ clearInterval(t);
+ await resolvable;
+
+ // Promise callback is not called because it didn't get
+ // the corresponding signal.
+ assert(!called);
+ },
+);
+
unitTest(
{ ignore: Deno.build.os === "windows", perms: { run: true } },
function signalShorthandsTest(): void {