diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/dts/lib.deno.ns.d.ts | 2 | ||||
-rw-r--r-- | cli/main.rs | 1 | ||||
-rw-r--r-- | cli/tests/integration/run_tests.rs | 6 | ||||
-rw-r--r-- | cli/tests/testdata/op_exit_op_set_exit_code_in_worker.ts | 13 | ||||
-rw-r--r-- | cli/tests/testdata/op_exit_op_set_exit_code_worker.js | 4 | ||||
-rw-r--r-- | cli/tests/testdata/set_exit_code_in_worker.ts | 13 | ||||
-rw-r--r-- | cli/tests/testdata/set_exit_code_worker.js | 4 |
7 files changed, 22 insertions, 21 deletions
diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts index f9c999cb3..675f5e7e6 100644 --- a/cli/dts/lib.deno.ns.d.ts +++ b/cli/dts/lib.deno.ns.d.ts @@ -480,6 +480,8 @@ declare namespace Deno { /** Exit the Deno process with optional exit code. If no exit code is supplied * then Deno will exit with return code of 0. * + * In worker contexts this is an alias to `self.close();`. + * * ```ts * Deno.exit(5); * ``` diff --git a/cli/main.rs b/cli/main.rs index 25f472854..1f545d51f 100644 --- a/cli/main.rs +++ b/cli/main.rs @@ -178,7 +178,6 @@ fn create_web_worker_callback( broadcast_channel: ps.broadcast_channel.clone(), shared_array_buffer_store: Some(ps.shared_array_buffer_store.clone()), compiled_wasm_module_store: Some(ps.compiled_wasm_module_store.clone()), - exit_code: args.exit_code, stdio: stdio.clone(), }; diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index 7ea95c312..aed1fe0fe 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -903,10 +903,10 @@ itest!(set_exit_code_2 { exit_code: 42, }); -itest!(set_exit_code_in_worker { - args: "run --no-check --unstable --allow-read set_exit_code_in_worker.ts", +itest!(op_exit_op_set_exit_code_in_worker { + args: "run --no-check --unstable --allow-read op_exit_op_set_exit_code_in_worker.ts", + exit_code: 21, output: "empty.out", - exit_code: 42, }); itest!(deno_exit_tampering { 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"); |