diff --git a/tests/corpus-node-islands-order/g05-zlib/main.ts b/tests/corpus-node-islands-order/g05-zlib/main.ts index 14abe51b1..3a4c9fac9 100644 --- a/tests/corpus-node-islands-order/g05-zlib/main.ts +++ b/tests/corpus-node-islands-order/g05-zlib/main.ts @@ -1,4 +1,5 @@ // @requires-libnode +// @order: race // X { T 0 { Z { L i-zlib } } } T 2 { B 80 L h-sync } import { callSync } from "@scriptc/node"; import { readFile, writeSync } from "node:fs"; diff --git a/tests/harness/node-island-order.test.ts b/tests/harness/node-island-order.test.ts index 5d4aa96a1..1f86babac 100644 --- a/tests/harness/node-island-order.test.ts +++ b/tests/harness/node-island-order.test.ts @@ -13,7 +13,9 @@ * A program whose head says `// @order: race` races a timer against I/O * whose duration differs between the sides (scriptc's own fs callbacks * complete in one turn where Node's readFile takes several; module loading - * on the first call into Node takes longer than in a Node process), or two + * on the first call into Node takes longer than in a Node process; a job on + * libuv's thread pool, such as zlib's, can finish before or after a 2 ms + * timer depending on the host), or two * equal timers armed on either side of an island call, which a millisecond * boundary between them (likely in a sanitized build) puts in different * loop turns, so Node permits orders it rarely produces in M runs. Its