From dca9c9ed36f4fdffa5b3a5ce960ae36edf5dc19c Mon Sep 17 00:00:00 2001 From: Taylor Mullen Date: Tue, 10 Feb 2026 00:06:16 -0800 Subject: [PATCH] fix(test-rig): only clean test directories on first setup call for a rig instance --- packages/test-utils/src/test-rig.ts | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/test-utils/src/test-rig.ts b/packages/test-utils/src/test-rig.ts index 45beddede6..a6fdfda1a2 100644 --- a/packages/test-utils/src/test-rig.ts +++ b/packages/test-utils/src/test-rig.ts @@ -353,6 +353,7 @@ export class TestRig { originalFakeResponsesPath?: string; private _interactiveRuns: InteractiveRun[] = []; private _spawnedProcesses: ChildProcess[] = []; + private _initialized = false; setup( testName: string, @@ -374,18 +375,25 @@ export class TestRig { console.log(`[TestRig] homeDir: ${this.homeDir}`); } - // Clean up existing directories from previous runs (e.g. retries) - if (fs.existsSync(this.testDir)) { - if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { - console.log(`[TestRig] Cleaning up existing testDir: ${this.testDir}`); + if (!this._initialized) { + // Clean up existing directories from previous runs (e.g. retries) + if (fs.existsSync(this.testDir)) { + if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { + console.log( + `[TestRig] Cleaning up existing testDir: ${this.testDir}`, + ); + } + fs.rmSync(this.testDir, { recursive: true, force: true }); } - fs.rmSync(this.testDir, { recursive: true, force: true }); - } - if (fs.existsSync(this.homeDir)) { - if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { - console.log(`[TestRig] Cleaning up existing homeDir: ${this.homeDir}`); + if (fs.existsSync(this.homeDir)) { + if (env['VERBOSE'] === 'true' || env['CI'] === 'true') { + console.log( + `[TestRig] Cleaning up existing homeDir: ${this.homeDir}`, + ); + } + fs.rmSync(this.homeDir, { recursive: true, force: true }); } - fs.rmSync(this.homeDir, { recursive: true, force: true }); + this._initialized = true; } mkdirSync(this.testDir, { recursive: true });