From e02d0faedccf4c9147d9cf82e488273bd9d4d45f Mon Sep 17 00:00:00 2001 From: Marvin Hagemeister Date: Wed, 15 May 2024 17:08:25 +0200 Subject: fix(node): wrong `worker_threads.terminate()` return value (#23803) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://github.com/denoland/deno/issues/23801 --------- Signed-off-by: Marvin Hagemeister Co-authored-by: Bartek IwaƄczuk --- tests/unit_node/worker_threads_test.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/unit_node/worker_threads_test.ts') diff --git a/tests/unit_node/worker_threads_test.ts b/tests/unit_node/worker_threads_test.ts index f46d982fe..e16bc8966 100644 --- a/tests/unit_node/worker_threads_test.ts +++ b/tests/unit_node/worker_threads_test.ts @@ -516,6 +516,32 @@ Deno.test({ }, }); +Deno.test({ + name: "[node/worker_threads] Returns terminate promise with exit code", + async fn() { + const deferred = Promise.withResolvers(); + const worker = new workerThreads.Worker( + ` + import { parentPort } from "node:worker_threads"; + parentPort.postMessage("ok"); + `, + { + eval: true, + }, + ); + + worker.on("message", (data) => { + assertEquals(data, "ok"); + deferred.resolve(); + }); + + await deferred.promise; + const promise = worker.terminate(); + assertEquals(typeof promise.then, "function"); + assertEquals(await promise, 0); + }, +}); + Deno.test({ name: "[node/worker_threads] MessagePort.on all message listeners are invoked", -- cgit v1.2.3