diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/worker_tests.rs | 7 | ||||
-rw-r--r-- | tests/testdata/workers/node_worker_auto_exits.mjs | 9 | ||||
-rw-r--r-- | tests/testdata/workers/node_worker_auto_exits.mjs.out | 2 |
3 files changed, 18 insertions, 0 deletions
diff --git a/tests/integration/worker_tests.rs b/tests/integration/worker_tests.rs index 7b1bddead..492a06e36 100644 --- a/tests/integration/worker_tests.rs +++ b/tests/integration/worker_tests.rs @@ -111,3 +111,10 @@ itest!(worker_doest_stall_event_loop { output: "workers/worker_doest_stall_event_loop.ts.out", exit_code: 0, }); + +// Test for https://github.com/denoland/deno/issues/22629 +itest!(node_worker_auto_exits { + args: "run --quiet --allow-read workers/node_worker_auto_exits.mjs", + output: "workers/node_worker_auto_exits.mjs.out", + exit_code: 0, +}); diff --git a/tests/testdata/workers/node_worker_auto_exits.mjs b/tests/testdata/workers/node_worker_auto_exits.mjs new file mode 100644 index 000000000..abfb084c3 --- /dev/null +++ b/tests/testdata/workers/node_worker_auto_exits.mjs @@ -0,0 +1,9 @@ +import { isMainThread, Worker } from "node:worker_threads"; + +if (isMainThread) { + // This re-loads the current file inside a Worker instance. + const w = new Worker(import.meta.filename); +} else { + console.log("Inside Worker!"); + console.log(isMainThread); // Prints 'false'. +} diff --git a/tests/testdata/workers/node_worker_auto_exits.mjs.out b/tests/testdata/workers/node_worker_auto_exits.mjs.out new file mode 100644 index 000000000..18934d3ed --- /dev/null +++ b/tests/testdata/workers/node_worker_auto_exits.mjs.out @@ -0,0 +1,2 @@ +Inside Worker! +false |