diff --git a/src/tests/verify-d2-upload-retry.test.ts b/src/tests/verify-d2-upload-retry.test.ts index 545c132..6311191 100644 --- a/src/tests/verify-d2-upload-retry.test.ts +++ b/src/tests/verify-d2-upload-retry.test.ts @@ -2,7 +2,7 @@ import { describe, it, expect, afterAll, vi } from 'vitest'; import { join } from 'path'; import { tmpdir } from 'os'; import { rm, mkdir, writeFile } from 'fs/promises'; -import { existsSync } from 'fs'; +import { existsSync, rmSync } from 'fs'; import Database from 'better-sqlite3'; /** @@ -27,8 +27,14 @@ const { getJob } = await import('$lib/server/db.js'); const { POST } = await import('$lib/../routes/api/jobs/[id]/retry/+server.js'); const { GET } = await import('$lib/../routes/api/jobs/+server.js'); -afterAll(async () => { - await rm(TEST_DATA_DIR, { recursive: true, force: true }); +afterAll(() => { + try { + // rmSync with maxRetries handles ENOTEMPTY/EBUSY from WAL/filesystem races + rmSync(TEST_DATA_DIR, { recursive: true, force: true, maxRetries: 3 }); + } catch { + // Best-effort: retryJob's async IIFE may recreate files during cleanup. + // CI container is ephemeral — leftover /tmp files are harmless. + } }); function makeEvent(jobId: string) {