Skip to content

Commit eae19de

Browse files
committed
fix(test): use fs.rmSync maxRetries for robust EBUSY handling on Windows (#1328)
1 parent f4d4389 commit eae19de

1 file changed

Lines changed: 3 additions & 12 deletions

File tree

tests/search/embedding-regression.test.ts

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,19 +85,10 @@ describe.skipIf(!hasTransformers)('embedding regression (real model)', () => {
8585
if (!tmpDir) return;
8686
// Flush any deferred DB closes before deleting the temp directory.
8787
// On Windows, SQLite WAL files can remain locked briefly after db.close(),
88-
// causing intermittent EBUSY errors. Retry up to 3 times with a short delay.
88+
// causing intermittent EBUSY errors. Node's built-in maxRetries handles
89+
// retrying EBUSY/EMFILE automatically with retryDelay ms between attempts.
8990
flushDeferredClose();
90-
const sharedBuf = new SharedArrayBuffer(4);
91-
const sharedArr = new Int32Array(sharedBuf);
92-
for (let attempt = 0; attempt < 3; attempt++) {
93-
try {
94-
fs.rmSync(tmpDir, { recursive: true, force: true });
95-
return;
96-
} catch (err) {
97-
if ((err as NodeJS.ErrnoException).code !== 'EBUSY' || attempt === 2) throw err;
98-
Atomics.wait(sharedArr, 0, 0, 100);
99-
}
100-
}
91+
fs.rmSync(tmpDir, { recursive: true, force: true, maxRetries: 10, retryDelay: 200 });
10192
});
10293

10394
describe('smoke tests', () => {

0 commit comments

Comments
 (0)