Skip to content

Commit 93df205

Browse files
committed
test(desktop): drive the doorbell backoff test with fake timers
1 parent 8f57a2e commit 93df205

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

‎apps/desktop/src/main/desktop-executor/doorbell.test.ts‎

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { sleep } from '@sim/utils/helpers'
21
import { describe, expect, it, vi } from 'vitest'
32
import { DeviceRequestError } from '@/main/desktop-executor/client'
43
import { InboxDoorbell, parseServerSentEvents } from '@/main/desktop-executor/doorbell'
@@ -92,6 +91,7 @@ describe('InboxDoorbell', () => {
9291
})
9392

9493
it('backs off when every stream ends as soon as it opens', async () => {
94+
vi.useFakeTimers()
9595
const opened: number[] = []
9696
const doorbell = new InboxDoorbell({
9797
client: {
@@ -104,11 +104,15 @@ describe('InboxDoorbell', () => {
104104
onUnregistered: vi.fn(),
105105
retryBaseMs: 5,
106106
})
107-
doorbell.start()
108-
await sleep(400)
109-
doorbell.stop()
110-
111-
// A fixed 5 ms retry would open dozens; doubling from 5 ms opens a handful.
107+
try {
108+
doorbell.start()
109+
await vi.advanceTimersByTimeAsync(400)
110+
doorbell.stop()
111+
} finally {
112+
vi.useRealTimers()
113+
}
114+
115+
// A fixed 5 ms retry would open 80; doubling from 5 ms opens a handful.
112116
expect(opened.length).toBeGreaterThan(2)
113117
expect(opened.length).toBeLessThan(15)
114118
})

0 commit comments

Comments
 (0)