Files
upstream-hocuspocus/tests/utils/retryableAssertion.ts
upstream-mirror e0c588ca1c
Some checks failed
build / lint (22) (push) Failing after 17s
build / test (22) (push) Failing after 8s
build / lint (23) (push) Failing after 2s
build / build (22) (push) Has been skipped
build / build (23) (push) Has been skipped
build / test (23) (push) Failing after 4s
docsearch / docsearch (push) Failing after 1s
snapshot of https://github.com/ueberdosis/hocuspocus.git @ cf3cfa355b4d3bb61c6b6c80071f71783e32470e (2026-09-15)
2026-09-15 17:21:35 +05:00

19 lines
468 B
TypeScript

import type { ExecutionContext } from 'ava'
import { sleep } from './sleep.ts'
/* eslint-disable no-await-in-loop */
export const retryableAssertion = async (t: ExecutionContext, recoverableTry: (tt: ExecutionContext) => void) => {
// eslint-disable-next-line no-constant-condition
while (true) {
const lastTry = await t.try(recoverableTry)
if (lastTry.passed) {
lastTry.commit()
break
}
lastTry.discard()
await sleep(100)
}
}