Files
vendoo/tools/test-runtime-cleanup.mjs
Masterluke77andGitHub 40071f718e Vendoo 1.43.0 – Production Update
Manifestbasierter Production-Updater 3.3, Modulnavigation, optionales Produktbild Studio, Listing-Studio-Aktionsleiste sowie plattformübergreifende Windows-/Linux-Release-Gates.
2026-07-10 13:16:21 +02:00

35 lines
1002 B
JavaScript

import { rmSync } from 'node:fs';
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
export async function closeVendooDatabase({ failures = [], label = 'Temporäre SQLite-Datenbank' } = {}) {
try {
const { db } = await import('../lib/db.mjs');
if (db?.open) {
try { db.pragma('wal_checkpoint(TRUNCATE)'); } catch {}
db.close();
}
return true;
} catch (error) {
failures.push(`${label} konnte nicht sauber geschlossen werden: ${error.code || error.message}`);
return false;
}
}
export async function removeTempDirectory(path, {
failures = [],
label = 'Temporärer Testordner',
settleMs = 100,
maxRetries = 30,
retryDelay = 100,
} = {}) {
if (settleMs > 0) await wait(settleMs);
try {
rmSync(path, { recursive: true, force: true, maxRetries, retryDelay });
return true;
} catch (error) {
failures.push(`${label} konnte nicht entfernt werden: ${error.code || error.message} (${path})`);
return false;
}
}