From 7253d0ca98d4107ddd90603d32c156a5526b2962 Mon Sep 17 00:00:00 2001 From: Affaan Mustafa Date: Mon, 30 Mar 2026 04:31:09 -0400 Subject: [PATCH] test: isolate codex hook sync env (#1023) --- tests/scripts/codex-hooks.test.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/scripts/codex-hooks.test.js b/tests/scripts/codex-hooks.test.js index 2ed9e689..5e67229a 100644 --- a/tests/scripts/codex-hooks.test.js +++ b/tests/scripts/codex-hooks.test.js @@ -45,6 +45,21 @@ function runBash(scriptPath, args = [], env = {}, cwd = repoRoot) { }); } +function makeHermeticCodexEnv(homeDir, codexDir, extraEnv = {}) { + const agentsHome = path.join(homeDir, '.agents'); + const hooksDir = path.join(codexDir, 'git-hooks'); + return { + HOME: homeDir, + USERPROFILE: homeDir, + CODEX_HOME: codexDir, + AGENTS_HOME: agentsHome, + ECC_GLOBAL_HOOKS_DIR: hooksDir, + CLAUDE_PACKAGE_MANAGER: 'npm', + CLAUDE_CODE_PACKAGE_MANAGER: 'npm', + ...extraEnv, + }; +} + let passed = 0; let failed = 0; @@ -116,12 +131,12 @@ if ( fs.mkdirSync(codexDir, { recursive: true }); fs.writeFileSync(configPath, config); - const syncResult = runBash(syncScript, ['--update-mcp'], { HOME: homeDir, CODEX_HOME: codexDir }); + const syncResult = runBash(syncScript, ['--update-mcp'], makeHermeticCodexEnv(homeDir, codexDir)); assert.strictEqual(syncResult.status, 0, `${syncResult.stdout}\n${syncResult.stderr}`); const syncedConfig = fs.readFileSync(configPath, 'utf8'); assert.match(syncedConfig, /^\[mcp_servers\.context7\]$/m); - const checkResult = runBash(checkScript, [], { HOME: homeDir, CODEX_HOME: codexDir }); + const checkResult = runBash(checkScript, [], makeHermeticCodexEnv(homeDir, codexDir)); assert.strictEqual(checkResult.status, 0, checkResult.stderr || checkResult.stdout); assert.match(checkResult.stdout, /MCP section \[mcp_servers\.context7\] or \[mcp_servers\.context7-mcp\] exists/); } finally {