From b512583ee71afcd52b2991b1fc3845e06c7d7682 Mon Sep 17 00:00:00 2001 From: Daniel Sutton Date: Mon, 18 May 2026 11:57:14 +0100 Subject: [PATCH] test(redis-worker): allow timer jitter in mollifier drainer stop-timeout test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node's setTimeout can fire a millisecond or two early under CI load, causing the existing `>= 500ms` lower bound to flake (saw 499ms in CI). Loosen to `>= 450ms` — the behaviour being pinned is "stop honors the deadline instead of waiting for the hung handler indefinitely", not millisecond-precise timing. Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/redis-worker/src/mollifier/drainer.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/redis-worker/src/mollifier/drainer.test.ts b/packages/redis-worker/src/mollifier/drainer.test.ts index 045ef7915..c8f68977f 100644 --- a/packages/redis-worker/src/mollifier/drainer.test.ts +++ b/packages/redis-worker/src/mollifier/drainer.test.ts @@ -1243,7 +1243,11 @@ describe("MollifierDrainer.start/stop", () => { await drainer.stop({ timeoutMs: 500 }); const stopElapsed = Date.now() - stopStart; - expect(stopElapsed).toBeGreaterThanOrEqual(500); + // Allow a small jitter window below `timeoutMs` — Node's setTimeout can + // fire a millisecond or two early under CI load. The behaviour we're + // pinning is "stop honors the deadline instead of waiting for the hung + // handler indefinitely", not millisecond-precise timing. + expect(stopElapsed).toBeGreaterThanOrEqual(450); expect(stopElapsed).toBeLessThan(2_000); } finally { await buffer.close();