From e7c894e8f54ebd2d9fd61c97a265906ac54e2068 Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Fri, 20 May 2022 11:57:05 +0900 Subject: fix: prevent Deno.exit to fail when dispatchEvent tampered (#14665) Co-authored-by: Colin Ihrig --- cli/tests/integration/run_tests.rs | 6 ++++++ cli/tests/testdata/deno_exit_tampering.ts | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 cli/tests/testdata/deno_exit_tampering.ts (limited to 'cli') diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index a9e7d93cc..f5929ee55 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -922,6 +922,12 @@ itest!(set_exit_code_in_worker { exit_code: 42, }); +itest!(deno_exit_tampering { + args: "run --no-check --unstable deno_exit_tampering.ts", + output: "empty.out", + exit_code: 42, +}); + itest!(heapstats { args: "run --quiet --unstable --v8-flags=--expose-gc heapstats.js", output: "heapstats.js.out", diff --git a/cli/tests/testdata/deno_exit_tampering.ts b/cli/tests/testdata/deno_exit_tampering.ts new file mode 100644 index 000000000..3b24261e2 --- /dev/null +++ b/cli/tests/testdata/deno_exit_tampering.ts @@ -0,0 +1,3 @@ +delete globalThis.dispatchEvent; +delete EventTarget.prototype.dispatchEvent; +Deno.exit(42); -- cgit v1.2.3