coverage in node to be sure

This commit is contained in:
Alistair Smith
2025-06-05 13:52:41 -07:00
parent f6dc66925e
commit 0c53b78c96
2 changed files with 20 additions and 2 deletions

View File

@@ -0,0 +1,19 @@
import assert from "node:assert";
import { setTimeout as sleep } from "node:timers/promises";
import { fileURLToPath } from "node:url";
import { Worker, isMainThread } from "node:worker_threads";
// This test exists so we can test the behaviour from
// https://github.com/oven-sh/bun/blob/f6dc66925e40dfb088c78b9592f832cbddb86519/test/js/web/workers/worker.test.ts#L341-L351
if (isMainThread) {
const worker = new Worker(fileURLToPath(import.meta.url), { smol: true });
let exitCode;
worker.once("exit", code => (exitCode = code));
await sleep(200);
assert.strictEqual(await worker.terminate(), undefined);
assert.strictEqual(exitCode, 2);
} else {
await sleep(100);
process.exit(2);
}

View File

@@ -345,8 +345,7 @@ describe("worker_threads", () => {
let exitCode: number | undefined = undefined;
worker.once("exit", code => (exitCode = code));
await Bun.sleep(200);
const code = await worker.terminate();
expect<number | undefined>(code).toBe(undefined);
expect<number | undefined>(await worker.terminate()).toBe(undefined);
expect<number | undefined>(exitCode).toBe(2);
});