From fc3a966a2d0be8fc76c384603bf18b55e0bbcf14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Mon, 13 Jun 2022 23:53:04 +0200 Subject: Deno.exit() is an alias to self.close() in worker contexts (#14826) This commit changes Deno.exit() to be an alias to self.close() in worker contexts, and the provided exit code becomes is ignored. --- cli/tests/testdata/op_exit_op_set_exit_code_in_worker.ts | 13 +++++++++++++ cli/tests/testdata/op_exit_op_set_exit_code_worker.js | 4 ++++ cli/tests/testdata/set_exit_code_in_worker.ts | 13 ------------- cli/tests/testdata/set_exit_code_worker.js | 4 ---- 4 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 cli/tests/testdata/op_exit_op_set_exit_code_in_worker.ts create mode 100644 cli/tests/testdata/op_exit_op_set_exit_code_worker.js delete mode 100644 cli/tests/testdata/set_exit_code_in_worker.ts delete mode 100644 cli/tests/testdata/set_exit_code_worker.js (limited to 'cli/tests/testdata') diff --git a/cli/tests/testdata/op_exit_op_set_exit_code_in_worker.ts b/cli/tests/testdata/op_exit_op_set_exit_code_in_worker.ts new file mode 100644 index 000000000..74e8a53c5 --- /dev/null +++ b/cli/tests/testdata/op_exit_op_set_exit_code_in_worker.ts @@ -0,0 +1,13 @@ +// Set exit code to some value, we'll ensure that `Deno.exit()` and +// setting exit code in worker context is a no-op and is an alias for +// `self.close()`. + +// @ts-ignore Deno.core doesn't have type-defs +Deno.core.opSync("op_set_exit_code", 21); + +const worker = new Worker( + new URL("op_exit_op_set_exit_code_worker.js", import.meta.url).href, + { type: "module" }, +); + +worker.postMessage("go"); diff --git a/cli/tests/testdata/op_exit_op_set_exit_code_worker.js b/cli/tests/testdata/op_exit_op_set_exit_code_worker.js new file mode 100644 index 000000000..54e5cd562 --- /dev/null +++ b/cli/tests/testdata/op_exit_op_set_exit_code_worker.js @@ -0,0 +1,4 @@ +self.onmessage = () => { + Deno.core.opSync("op_set_exit_code", 42); + Deno.exit(); +}; diff --git a/cli/tests/testdata/set_exit_code_in_worker.ts b/cli/tests/testdata/set_exit_code_in_worker.ts deleted file mode 100644 index c49c6efb2..000000000 --- a/cli/tests/testdata/set_exit_code_in_worker.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { deferred } from "../../../test_util/std/async/deferred.ts"; - -const worker = new Worker( - new URL("set_exit_code_worker.js", import.meta.url).href, - { type: "module" }, -); - -const promise1 = deferred(); -worker.onmessage = (_e) => { - promise1.resolve(); -}; -await promise1; -worker.terminate(); diff --git a/cli/tests/testdata/set_exit_code_worker.js b/cli/tests/testdata/set_exit_code_worker.js deleted file mode 100644 index d1c0123d1..000000000 --- a/cli/tests/testdata/set_exit_code_worker.js +++ /dev/null @@ -1,4 +0,0 @@ -// Set exit code -Deno.core.opSync("op_set_exit_code", 42); - -self.postMessage("ok"); -- cgit v1.2.3