From 4e3ec478573ede7247fd306cad1ea5bf2d5c9565 Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Tue, 22 Jun 2021 15:17:44 +0900 Subject: fix(runtime): fix signal promise API (#11069) --- cli/tests/unit/signal_test.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'cli/tests') 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 { + 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 { -- cgit v1.2.3