Skip to content

Commit 8cc295b

Browse files
Shahinyanmshahinyanmclaude
authored
test: isolate HOME in context-mode-detector tests (#57)
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: shahinyanm <mher.shahinyan@12go.asia> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 4dbaf3f commit 8cc295b

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

tests/integration/context-mode-detector.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,31 @@ import { detectContextMode } from '../../src/integration/context-mode-detector.j
66

77
describe('detectContextMode', () => {
88
let testDir: string;
9+
let homeDir: string;
10+
let savedHome: string | undefined;
11+
let savedUserProfile: string | undefined;
912

1013
beforeEach(async () => {
1114
testDir = resolve(tmpdir(), `tp-cm-test-${Date.now()}`);
1215
await mkdir(testDir, { recursive: true });
16+
// detectContextMode falls back to ~/.mcp.json (HOME/USERPROFILE). Point
17+
// those at a clean temp home with no .mcp.json so a real one on the dev
18+
// machine can't make the "no detection" cases report detected=true.
19+
homeDir = resolve(tmpdir(), `tp-cm-home-${Date.now()}`);
20+
await mkdir(homeDir, { recursive: true });
21+
savedHome = process.env.HOME;
22+
savedUserProfile = process.env.USERPROFILE;
23+
process.env.HOME = homeDir;
24+
delete process.env.USERPROFILE;
1325
});
1426

1527
afterEach(async () => {
1628
await rm(testDir, { recursive: true, force: true });
29+
await rm(homeDir, { recursive: true, force: true });
30+
if (savedHome === undefined) delete process.env.HOME;
31+
else process.env.HOME = savedHome;
32+
if (savedUserProfile === undefined) delete process.env.USERPROFILE;
33+
else process.env.USERPROFILE = savedUserProfile;
1734
});
1835

1936
it('returns detected=false when no .mcp.json exists', async () => {

0 commit comments

Comments
 (0)