From 6671423d79d7841cc2414caee252fbc67b426189 Mon Sep 17 00:00:00 2001 From: "Kai (Tam Nhu) Tran" <61256810+kaitranntt@users.noreply.github.com> Date: Sat, 30 May 2026 14:56:30 -0400 Subject: [PATCH] test: restrict claudecode CCS_HOME cleanup --- .../utils/claudecode-env-stripping.test.ts | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/tests/unit/utils/claudecode-env-stripping.test.ts b/tests/unit/utils/claudecode-env-stripping.test.ts index d3f819cd..ddb3ab71 100644 --- a/tests/unit/utils/claudecode-env-stripping.test.ts +++ b/tests/unit/utils/claudecode-env-stripping.test.ts @@ -145,8 +145,16 @@ function registerChildProcessMock(): void { })); } +const tempCcsHomes = new Set(); + +function createTempCcsHome(prefix: string): string { + const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), prefix)); + tempCcsHomes.add(tempHome); + return tempHome; +} + function writeConfigWithAutoUpdatePreference(enabled: boolean): void { - const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'ccs-auto-update-pref-')); + const tempHome = createTempCcsHome('ccs-auto-update-pref-'); process.env.CCS_HOME = tempHome; const ccsDir = path.join(tempHome, '.ccs'); fs.mkdirSync(ccsDir, { recursive: true }); @@ -158,7 +166,7 @@ preferences: } function writeConfigWithWebSearchSettings(yamlBody: string): void { - const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'ccs-websearch-env-')); + const tempHome = createTempCcsHome('ccs-websearch-env-'); process.env.CCS_HOME = tempHome; const ccsDir = path.join(tempHome, '.ccs'); fs.mkdirSync(ccsDir, { recursive: true }); @@ -225,10 +233,8 @@ describe('CLAUDECODE environment stripping', () => { }); afterEach(async () => { - const tempCcsHome = process.env.CCS_HOME?.startsWith(os.tmpdir()) - ? process.env.CCS_HOME - : undefined; - if (tempCcsHome) { + const tempCcsHome = process.env.CCS_HOME; + if (tempCcsHome && tempCcsHomes.has(tempCcsHome)) { await stopOpenAICompatProxy(); } @@ -277,9 +283,10 @@ describe('CLAUDECODE environment stripping', () => { } } - if (tempCcsHome) { - fs.rmSync(tempCcsHome, { recursive: true, force: true }); + for (const tempHome of tempCcsHomes) { + fs.rmSync(tempHome, { recursive: true, force: true }); } + tempCcsHomes.clear(); }); it('stripClaudeCodeEnv removes CLAUDECODE case-insensitively', () => {