diff options
author | Satya Rohith <me@satyarohith.com> | 2024-03-13 22:52:25 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-13 17:22:25 +0000 |
commit | 0fd8f549e2194223eca2d4b17f4e96cd5a0f5fd5 (patch) | |
tree | 76181b2a5f2991134f7343cfc6d4b8b755dbc333 /tests | |
parent | b3ca3b2f25931afb350027bde87dc3d4f9a741b0 (diff) |
fix(ext/node): allow automatic worker_thread termination (#22647)
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
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 |