From 9aecfea894df51341667235bebaabf8b6010339a Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 20 Feb 2026 21:37:18 +0100 Subject: [PATCH] fix(test): use fake timers for sleep() test to avoid flakiness --- tests/utils.test.mjs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/tests/utils.test.mjs b/tests/utils.test.mjs index e3deab3c3..13a85d7b6 100644 --- a/tests/utils.test.mjs +++ b/tests/utils.test.mjs @@ -1,6 +1,7 @@ import { expect } from '@std/expect' import { randomInt } from 'node:crypto' import os from 'node:os' +import { useFakeTimers } from 'sinon' import { KillBehaviors } from '../lib/index.cjs' import { @@ -44,11 +45,21 @@ describe('Utils test suite', () => { }) it('Verify sleep() behavior', async () => { - const start = performance.now() - const sleepMs = 1000 - await sleep(sleepMs) - const elapsed = performance.now() - start - expect(elapsed).toBeGreaterThanOrEqual(sleepMs - 1) + const clock = useFakeTimers() + try { + const delay = 1000 + let resolved = false + const sleepPromise = sleep(delay).then(() => { + resolved = true + return true + }) + expect(resolved).toBe(false) + await clock.tickAsync(delay) + await sleepPromise + expect(resolved).toBe(true) + } finally { + clock.restore() + } }) it('Verify exponentialDelay() behavior', () => { -- 2.53.0