diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-03-10 01:06:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-10 01:06:47 +0100 |
commit | 68119e1d7ed23421ccdcba20532ebe9ae3df9f18 (patch) | |
tree | 455dd170024112e3388adc27ebebb119b0ecda38 /cli/js/signal_test.ts | |
parent | dad8036766dca3417b79858b9a04d90447f88605 (diff) |
reorg: move js runtime tests to cli/js/tests/ (#4250)
All Deno runtime test files were moved to cli/js/tests/ directory.
It makes a clear distinction that cli/js/tests/ contains code
that is run under Deno runtime as opposed to code in cli/js/ which
is used to create bundle and snapshot with "deno_typescript".
Diffstat (limited to 'cli/js/signal_test.ts')
-rw-r--r-- | cli/js/signal_test.ts | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/cli/js/signal_test.ts b/cli/js/signal_test.ts deleted file mode 100644 index e1d00c669..000000000 --- a/cli/js/signal_test.ts +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import { - unitTest, - assert, - assertEquals, - assertThrows, - createResolvable -} from "./test_util.ts"; - -function defer(n: number): Promise<void> { - return new Promise((resolve: () => void, _) => { - setTimeout(resolve, n); - }); -} - -unitTest( - { skip: Deno.build.os !== "win" }, - async function signalsNotImplemented(): Promise<void> { - assertThrows( - () => { - Deno.signal(1); - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.alarm(); // for SIGALRM - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.child(); // for SIGCHLD - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.hungup(); // for SIGHUP - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.interrupt(); // for SIGINT - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.io(); // for SIGIO - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.pipe(); // for SIGPIPE - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.quit(); // for SIGQUIT - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.terminate(); // for SIGTERM - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.userDefined1(); // for SIGUSR1 - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.userDefined2(); // for SIGURS2 - }, - Error, - "not implemented" - ); - assertThrows( - () => { - Deno.signals.windowChange(); // for SIGWINCH - }, - Error, - "not implemented" - ); - } -); - -unitTest( - { skip: Deno.build.os === "win", perms: { run: true, net: true } }, - async function signalStreamTest(): Promise<void> { - const resolvable = createResolvable(); - // This prevents the program from exiting. - const t = setInterval(() => {}, 1000); - - let c = 0; - const sig = Deno.signal(Deno.Signal.SIGUSR1); - setTimeout(async () => { - await defer(20); - for (const _ of Array(3)) { - // Sends SIGUSR1 3 times. - Deno.kill(Deno.pid, Deno.Signal.SIGUSR1); - await defer(20); - } - sig.dispose(); - resolvable.resolve(); - }); - - for await (const _ of sig) { - c += 1; - } - - assertEquals(c, 3); - - clearInterval(t); - // Defer for a moment to allow async op from `setInterval` to resolve; - // for more explanation see `FIXME` in `cli/js/timers.ts::setGlobalTimeout` - await defer(20); - await resolvable; - } -); - -unitTest( - { skip: Deno.build.os === "win", perms: { run: true } }, - async function signalPromiseTest(): Promise<void> { - const resolvable = createResolvable(); - // This prevents the program from exiting. - const t = setInterval(() => {}, 1000); - - const sig = Deno.signal(Deno.Signal.SIGUSR1); - setTimeout(() => { - Deno.kill(Deno.pid, Deno.Signal.SIGUSR1); - resolvable.resolve(); - }, 20); - await sig; - sig.dispose(); - - clearInterval(t); - // Defer for a moment to allow async op from `setInterval` to resolve; - // for more explanation see `FIXME` in `cli/js/timers.ts::setGlobalTimeout` - await defer(20); - await resolvable; - } -); - -unitTest( - { skip: Deno.build.os === "win", perms: { run: true } }, - async function signalShorthandsTest(): Promise<void> { - let s: Deno.SignalStream; - s = Deno.signals.alarm(); // for SIGALRM - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.child(); // for SIGCHLD - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.hungup(); // for SIGHUP - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.interrupt(); // for SIGINT - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.io(); // for SIGIO - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.pipe(); // for SIGPIPE - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.quit(); // for SIGQUIT - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.terminate(); // for SIGTERM - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.userDefined1(); // for SIGUSR1 - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.userDefined2(); // for SIGURS2 - assert(s instanceof Deno.SignalStream); - s.dispose(); - s = Deno.signals.windowChange(); // for SIGWINCH - assert(s instanceof Deno.SignalStream); - s.dispose(); - } -); |