From 080470aee6d4ab2afb07c4cc452e666c1eb24430 Mon Sep 17 00:00:00 2001 From: shahinyanm Date: Wed, 24 Jun 2026 10:56:25 +0400 Subject: [PATCH] test: isolate HOME in context-mode-detector tests detectContextMode falls back to ~/.mcp.json (HOME/USERPROFILE). On a dev machine with a real ~/.mcp.json the three "no detection" cases reported detected=true and failed locally (clean in CI, which has no ~/.mcp.json). beforeEach now points HOME at a clean temp home with no .mcp.json and restores it after, so the suite is deterministic everywhere. Test-only; no shipped change. Full suite now 1416/1416 locally. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/integration/context-mode-detector.test.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/integration/context-mode-detector.test.ts b/tests/integration/context-mode-detector.test.ts index 3c57c5b..e9ddebb 100644 --- a/tests/integration/context-mode-detector.test.ts +++ b/tests/integration/context-mode-detector.test.ts @@ -6,14 +6,31 @@ import { detectContextMode } from '../../src/integration/context-mode-detector.j describe('detectContextMode', () => { let testDir: string; + let homeDir: string; + let savedHome: string | undefined; + let savedUserProfile: string | undefined; beforeEach(async () => { testDir = resolve(tmpdir(), `tp-cm-test-${Date.now()}`); await mkdir(testDir, { recursive: true }); + // detectContextMode falls back to ~/.mcp.json (HOME/USERPROFILE). Point + // those at a clean temp home with no .mcp.json so a real one on the dev + // machine can't make the "no detection" cases report detected=true. + homeDir = resolve(tmpdir(), `tp-cm-home-${Date.now()}`); + await mkdir(homeDir, { recursive: true }); + savedHome = process.env.HOME; + savedUserProfile = process.env.USERPROFILE; + process.env.HOME = homeDir; + delete process.env.USERPROFILE; }); afterEach(async () => { await rm(testDir, { recursive: true, force: true }); + await rm(homeDir, { recursive: true, force: true }); + if (savedHome === undefined) delete process.env.HOME; + else process.env.HOME = savedHome; + if (savedUserProfile === undefined) delete process.env.USERPROFILE; + else process.env.USERPROFILE = savedUserProfile; }); it('returns detected=false when no .mcp.json exists', async () => {