From 8f050355ff08e6e44681b20b17885a01e8480b73 Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Wed, 10 Jun 2020 16:10:08 +0100 Subject: fix(cli/js/process): Always return a code in ProcessStatus (#5244) --- cli/tests/unit/process_test.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'cli/tests/unit/process_test.ts') diff --git a/cli/tests/unit/process_test.ts b/cli/tests/unit/process_test.ts index 79e36dc4b..c6503b2e0 100644 --- a/cli/tests/unit/process_test.ts +++ b/cli/tests/unit/process_test.ts @@ -66,7 +66,7 @@ unitTest( }); const status = await p.status(); assertEquals(status.success, false); - assertEquals(status.code, undefined); + assertEquals(status.code, 128 + 9); assertEquals(status.signal, 9); p.close(); } @@ -358,11 +358,15 @@ unitTest({ perms: { run: true } }, async function killSuccess(): Promise { const status = await p.status(); assertEquals(status.success, false); - // TODO(ry) On Linux, status.code is sometimes undefined and sometimes 1. - // The following assert is causing this test to be flaky. Investigate and - // re-enable when it can be made deterministic. - // assertEquals(status.code, 1); - // assertEquals(status.signal, Deno.Signal.SIGINT); + try { + assertEquals(status.code, 128 + Deno.Signal.SIGINT); + assertEquals(status.signal, Deno.Signal.SIGINT); + } catch { + // TODO(nayeemrmn): On Windows sometimes the following values are given + // instead. Investigate and remove this catch when fixed. + assertEquals(status.code, 1); + assertEquals(status.signal, undefined); + } p.close(); }); -- cgit v1.2.3