test: clean hooks temp dir on failure (#213)

This commit is contained in:
Lixin2026
2026-06-21 01:20:45 +02:00
committed by GitHub
parent 0403c4dd50
commit ee263e5708
+9 -1
View File
@@ -21,6 +21,14 @@ function run(script, env, input = '') {
delete process.env.CLAUDE_CONFIG_DIR; delete process.env.CLAUDE_CONFIG_DIR;
const temp = fs.mkdtempSync(path.join(os.tmpdir(), 'ponytail-hooks-')); const temp = fs.mkdtempSync(path.join(os.tmpdir(), 'ponytail-hooks-'));
let cleanedTemp = false;
function cleanupTemp() {
if (cleanedTemp) return;
cleanedTemp = true;
fs.rmSync(temp, { recursive: true, force: true });
}
process.once('exit', cleanupTemp);
const home = path.join(temp, 'home'); const home = path.join(temp, 'home');
const pluginData = path.join(temp, 'plugin-data'); const pluginData = path.join(temp, 'plugin-data');
fs.mkdirSync(home, { recursive: true }); fs.mkdirSync(home, { recursive: true });
@@ -155,5 +163,5 @@ assert.equal(
output = JSON.parse(result.stdout); output = JSON.parse(result.stdout);
assert.deepEqual(output, {}); assert.deepEqual(output, {});
fs.rmSync(temp, { recursive: true, force: true }); cleanupTemp();
console.log('hook compatibility checks passed'); console.log('hook compatibility checks passed');