From: Jérôme Benoit Date: Fri, 20 Feb 2026 20:37:18 +0000 (+0100) Subject: fix(test): use fake timers for sleep() test to avoid flakiness X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=9aecfea894df51341667235bebaabf8b6010339a;p=poolifier.git fix(test): use fake timers for sleep() test to avoid flakiness --- 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', () => {