diff options
Diffstat (limited to 'cli/tests')
19 files changed, 65 insertions, 28 deletions
diff --git a/cli/tests/integration/worker_tests.rs b/cli/tests/integration/worker_tests.rs index c158776ee..bf1057821 100644 --- a/cli/tests/integration/worker_tests.rs +++ b/cli/tests/integration/worker_tests.rs @@ -20,6 +20,20 @@ itest!(worker_nested_error { exit_code: 1, }); +itest!(worker_async_error { + args: "run -A --quiet --reload workers/worker_async_error.ts", + output: "workers/worker_async_error.ts.out", + http_server: true, + exit_code: 1, +}); + +itest!(worker_message_handler_error { + args: "run -A --quiet --reload workers/worker_message_handler_error.ts", + output: "workers/worker_message_handler_error.ts.out", + http_server: true, + exit_code: 1, +}); + itest!(nonexistent_worker { args: "run --allow-read workers/nonexistent_worker.ts", output: "workers/nonexistent_worker.out", diff --git a/cli/tests/testdata/worker_drop_handle_race.js.out b/cli/tests/testdata/worker_drop_handle_race.js.out index 71dfde620..271e07854 100644 --- a/cli/tests/testdata/worker_drop_handle_race.js.out +++ b/cli/tests/testdata/worker_drop_handle_race.js.out @@ -4,5 +4,5 @@ error: Uncaught (in worker "") Error at [WILDCARD]/workers/drop_handle_race.js:2:9 at fire (deno:ext/timers/[WILDCARD]) at handleTimerMacrotask (deno:ext/timers/[WILDCARD]) -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl (deno:runtime/js/11_workers.js:[WILDCARD]) diff --git a/cli/tests/testdata/workers/async_error.ts b/cli/tests/testdata/workers/async_error.ts new file mode 100644 index 000000000..154b957b1 --- /dev/null +++ b/cli/tests/testdata/workers/async_error.ts @@ -0,0 +1,4 @@ +// deno-lint-ignore require-await +(async () => { + throw new Error("bar"); +})(); diff --git a/cli/tests/testdata/workers/message_handler_error.ts b/cli/tests/testdata/workers/message_handler_error.ts new file mode 100644 index 000000000..3416faad1 --- /dev/null +++ b/cli/tests/testdata/workers/message_handler_error.ts @@ -0,0 +1,4 @@ +postMessage("ready"); +onmessage = () => { + throw new Error("bar"); +}; diff --git a/cli/tests/testdata/workers/nonexistent_worker.out b/cli/tests/testdata/workers/nonexistent_worker.out index 1651321bc..99e94bfc9 100644 --- a/cli/tests/testdata/workers/nonexistent_worker.out +++ b/cli/tests/testdata/workers/nonexistent_worker.out @@ -1,3 +1,3 @@ [WILDCARD]error: Uncaught (in worker "") Cannot resolve module "file:///[WILDCARD]/workers/doesnt_exist.js". -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/permissions_blob_local.ts.out b/cli/tests/testdata/workers/permissions_blob_local.ts.out index 0835777ec..b35d1d4db 100644 --- a/cli/tests/testdata/workers/permissions_blob_local.ts.out +++ b/cli/tests/testdata/workers/permissions_blob_local.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires read access to "[WILDCARD]local_file.ts", run again with the --allow-read flag at blob:null/[WILDCARD]:1:0 -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/permissions_blob_remote.ts.out b/cli/tests/testdata/workers/permissions_blob_remote.ts.out index 2d01458ca..26936971a 100644 --- a/cli/tests/testdata/workers/permissions_blob_remote.ts.out +++ b/cli/tests/testdata/workers/permissions_blob_remote.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires net access to "example.com", run again with the --allow-net flag at blob:null/[WILDCARD]:1:0 -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/permissions_data_local.ts.out b/cli/tests/testdata/workers/permissions_data_local.ts.out index 2a6be2b57..1e8c5fffa 100644 --- a/cli/tests/testdata/workers/permissions_data_local.ts.out +++ b/cli/tests/testdata/workers/permissions_data_local.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires read access to "[WILDCARD]local_file.ts", run again with the --allow-read flag at data:application/javascript;base64,[WILDCARD]:1:0 -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/permissions_data_remote.ts.out b/cli/tests/testdata/workers/permissions_data_remote.ts.out index 90677892a..92eadf284 100644 --- a/cli/tests/testdata/workers/permissions_data_remote.ts.out +++ b/cli/tests/testdata/workers/permissions_data_remote.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires net access to "example.com", run again with the --allow-net flag at data:application/javascript;base64,aW1wb3J0ICJodHRwczovL2V4YW1wbGUuY29tL3NvbWUvZmlsZS50cyI7:1:0 -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/permissions_dynamic_remote.ts.out b/cli/tests/testdata/workers/permissions_dynamic_remote.ts.out index 3c4523ce0..e5015abff 100644 --- a/cli/tests/testdata/workers/permissions_dynamic_remote.ts.out +++ b/cli/tests/testdata/workers/permissions_dynamic_remote.ts.out @@ -2,5 +2,5 @@ error: Uncaught (in worker "") (in promise) TypeError: Requires net access to "e await import("https://example.com/some/file.ts"); ^ at async http://localhost:4545/workers/dynamic_remote.ts:2:1 -[WILDCARD]error: Uncaught (in promise) Error: Unhandled error event reached main worker. +[WILDCARD]error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/permissions_remote_remote.ts.out b/cli/tests/testdata/workers/permissions_remote_remote.ts.out index 94a92c72d..8998891a3 100644 --- a/cli/tests/testdata/workers/permissions_remote_remote.ts.out +++ b/cli/tests/testdata/workers/permissions_remote_remote.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires net access to "example.com", run again with the --allow-net flag at http://localhost:4545/workers/static_remote.ts:2:0 -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/test.ts b/cli/tests/testdata/workers/test.ts index 9d3855fe1..effd104f5 100644 --- a/cli/tests/testdata/workers/test.ts +++ b/cli/tests/testdata/workers/test.ts @@ -34,11 +34,6 @@ Deno.test({ tsWorker.postMessage("Hello World"); }; - jsWorker.onerror = (e: Event) => { - e.preventDefault(); - jsWorker.postMessage("Hello World"); - }; - jsWorker.postMessage("Hello World"); await promise; tsWorker.terminate(); diff --git a/cli/tests/testdata/workers/test_worker.js b/cli/tests/testdata/workers/test_worker.js index 4260975a6..2b2d1eeec 100644 --- a/cli/tests/testdata/workers/test_worker.js +++ b/cli/tests/testdata/workers/test_worker.js @@ -1,19 +1,8 @@ -let thrown = false; - if (self.name !== "") { throw Error(`Bad worker name: ${self.name}, expected empty string.`); } onmessage = function (e) { - if (thrown === false) { - thrown = true; - throw new SyntaxError("[test error]"); - } - postMessage(e.data); close(); }; - -onerror = function () { - return false; -}; diff --git a/cli/tests/testdata/workers/worker_async_error.ts b/cli/tests/testdata/workers/worker_async_error.ts new file mode 100644 index 000000000..05d2ffcb6 --- /dev/null +++ b/cli/tests/testdata/workers/worker_async_error.ts @@ -0,0 +1,5 @@ +const worker = new Worker( + new URL("async_error.ts", import.meta.url).href, + { type: "module", name: "foo" }, +); +setTimeout(() => worker.terminate(), 30000); diff --git a/cli/tests/testdata/workers/worker_async_error.ts.out b/cli/tests/testdata/workers/worker_async_error.ts.out new file mode 100644 index 000000000..0a05534c5 --- /dev/null +++ b/cli/tests/testdata/workers/worker_async_error.ts.out @@ -0,0 +1,7 @@ +error: Uncaught (in worker "foo") (in promise) Error: bar + throw new Error("bar"); + ^ + at [WILDCARD]/async_error.ts:[WILDCARD] + at [WILDCARD]/async_error.ts:[WILDCARD] +error: Uncaught (in promise) Error: Unhandled error event in child worker. + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/worker_error.ts.out b/cli/tests/testdata/workers/worker_error.ts.out index 4a8e92f00..cb0a02550 100644 --- a/cli/tests/testdata/workers/worker_error.ts.out +++ b/cli/tests/testdata/workers/worker_error.ts.out @@ -1,5 +1,5 @@ [WILDCARD]error: Uncaught (in worker "bar") Error: foo[WILDCARD] at foo ([WILDCARD]) at [WILDCARD] -error: Uncaught (in promise) Error: Unhandled error event reached main worker. +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/worker_message_handler_error.ts b/cli/tests/testdata/workers/worker_message_handler_error.ts new file mode 100644 index 000000000..eb538c1ce --- /dev/null +++ b/cli/tests/testdata/workers/worker_message_handler_error.ts @@ -0,0 +1,8 @@ +const worker = new Worker( + new URL("message_handler_error.ts", import.meta.url).href, + { type: "module", name: "foo" }, +); +worker.onmessage = () => { + worker.postMessage("ready"); +}; +setTimeout(() => worker.terminate(), 30000); diff --git a/cli/tests/testdata/workers/worker_message_handler_error.ts.out b/cli/tests/testdata/workers/worker_message_handler_error.ts.out new file mode 100644 index 000000000..56458d5e4 --- /dev/null +++ b/cli/tests/testdata/workers/worker_message_handler_error.ts.out @@ -0,0 +1,7 @@ +error: Uncaught (in worker "foo") (in promise) Error: bar + throw new Error("bar"); + ^ + at onmessage ([WILDCARD]/message_handler_error.ts:[WILDCARD]) + at [WILDCARD] +error: Uncaught (in promise) Error: Unhandled error event in child worker. + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/testdata/workers/worker_nested_error.ts.out b/cli/tests/testdata/workers/worker_nested_error.ts.out index 4a8e92f00..5c978ca9b 100644 --- a/cli/tests/testdata/workers/worker_nested_error.ts.out +++ b/cli/tests/testdata/workers/worker_nested_error.ts.out @@ -1,5 +1,9 @@ [WILDCARD]error: Uncaught (in worker "bar") Error: foo[WILDCARD] - at foo ([WILDCARD]) - at [WILDCARD] -error: Uncaught (in promise) Error: Unhandled error event reached main worker. + throw new Error("foo"); + ^ + at foo ([WILDCARD]/workers/error.ts:[WILDCARD]) + at [WILDCARD]/workers/error.ts:[WILDCARD] +error: Uncaught (in worker "baz") (in promise) Error: Unhandled error event in child worker. + at Worker.#pollControl ([WILDCARD]) +error: Uncaught (in promise) Error: Unhandled error event in child worker. at Worker.#pollControl ([WILDCARD]) |