From 05a6ec8b31dc5815e7694f64ba26afbe35cd72d3 Mon Sep 17 00:00:00 2001 From: Chris Tate Date: Sun, 25 Oct 2026 02:14:17 -0500 Subject: [PATCH] Treat s03's island timer as a race s03-load-in-immediate loads Node inside an immediate whose island code arms a 0 ms timer, while more immediates are pending. Whether that timer fires before the next check phase depends on how long the island call takes, which grows under ASan: Node itself prints both orders (17 and 3 in 20 runs), and a sanitized native run printed the rarer one more often, so the test failed whenever Node's runs missed it. Its native runs now have to produce the lines of one of Node's outputs, like the other race programs. --- tests/corpus-node-islands-order/s03-load-in-immediate/main.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/corpus-node-islands-order/s03-load-in-immediate/main.ts b/tests/corpus-node-islands-order/s03-load-in-immediate/main.ts index abbe2e637..f4e453ab4 100644 --- a/tests/corpus-node-islands-order/s03-load-in-immediate/main.ts +++ b/tests/corpus-node-islands-order/s03-load-in-immediate/main.ts @@ -1,4 +1,5 @@ // @requires-libnode +// @order: race // Switch: Node loads inside an immediate while later immediates of the same check // phase, and timers, are pending. import { callSync } from "@scriptc/node";