- 新增 tests/helpers.ts 的 rmRetry 工具函数,解决 SQLite 文件句柄未及时释放导致 afterAll 清理时 EBUSY 错误 - 修改通配符测试用例,使用 bun -e 替代 echo 命令,确保跨平台行为一致
14 lines
355 B
TypeScript
14 lines
355 B
TypeScript
import { rm } from "node:fs/promises";
|
|
|
|
export async function rmRetry(dir: string, retries = 10, delayMs = 500) {
|
|
for (let i = 0; i < retries; i++) {
|
|
try {
|
|
await rm(dir, { force: true, recursive: true });
|
|
return;
|
|
} catch (e) {
|
|
if (i === retries - 1) throw e;
|
|
await new Promise((r) => setTimeout(r, delayMs));
|
|
}
|
|
}
|
|
}
|