From 825d48caf58226fa650d2b60846682a2d4923afa Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 13 Jul 2026 11:50:08 -0400 Subject: [PATCH] fix(ci): disable node test runner process isolation to stop flaky failures The node test runner's default process isolation spawns the test file as a child process and parses the child's stdout pipe for v8-serialized test events. Tests that spawn OS processes with inherited stdio make those grandchildren write raw bytes into that same pipe, and a write landing mid-frame corrupts the framing, failing the whole file with "Unable to deserialize cloned data due to invalid or unsupported version" (see https://github.com/nodejs/node/issues/64061). It's timing-dependent and worst on macOS where pipe writes are only atomic up to 512 bytes. deno-test funnels all test files through a single runner file, so process isolation buys nothing. With --test-isolation=none the tests run in the main process and there is no serialization pipe to corrupt. --- deno.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deno.json b/deno.json index a137471..8b9102b 100644 --- a/deno.json +++ b/deno.json @@ -10,7 +10,7 @@ }, "tasks": { "test": "deno test -P && deno task test:node", - "test:node": "unset FORCE_COLOR && npx --yes deno-test@1.0.3", + "test:node": "unset FORCE_COLOR && NODE_OPTIONS=--test-isolation=none npx --yes deno-test@1.0.3", "wasmbuild": "deno run -A jsr:@deno/wasmbuild@0.19.2 --inline --out ./src/lib" }, "fmt": {