Skip to content

Commit 14a197c

Browse files
committed
Fix ALL MSYS2 python3 path issues: pipe via cat for every JSON read
1 parent 331b4c4 commit 14a197c

File tree

1 file changed

+22
-24
lines changed

1 file changed

+22
-24
lines changed

scripts/smoke-test.sh

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -560,9 +560,9 @@ fi
560560
echo "OK 8c: Claude Code MCP (.claude/.mcp.json)"
561561

562562
# 8d: Claude Code hooks
563-
if ! python3 -c "
563+
if ! cat "$FAKE_HOME/.claude/settings.json" 2>/dev/null | python3 -c "
564564
import json, sys
565-
d = json.load(open('$FAKE_HOME/.claude/settings.json'))
565+
d = json.load(sys.stdin)
566566
hooks = d.get('hooks', {}).get('PreToolUse', [])
567567
found = any('Grep' in str(h.get('matcher', '')) for h in hooks)
568568
sys.exit(0 if found else 1)
@@ -612,9 +612,9 @@ if [ "$EXISTING" != "True" ]; then
612612
fi
613613
echo "OK 8j-k: Gemini MCP (correct command + preserved existing)"
614614

615-
if ! python3 -c "
615+
if ! cat "$FAKE_HOME/.gemini/settings.json" 2>/dev/null | python3 -c "
616616
import json, sys
617-
d = json.load(open('$FAKE_HOME/.gemini/settings.json'))
617+
d = json.load(sys.stdin)
618618
hooks = d.get('hooks', {}).get('BeforeTool', [])
619619
sys.exit(0 if len(hooks) > 0 else 1)
620620
" 2>/dev/null; then
@@ -735,9 +735,9 @@ echo "=== Phase 9: agent config uninstall E2E ==="
735735
HOME="$FAKE_HOME" PATH="$FAKE_HOME/.local/bin:$PATH" "$BINARY" uninstall -y -n 2>&1 || true
736736

737737
# 9a-b: Claude Code MCP removed but existing keys preserved
738-
if python3 -c "
738+
if cat "$FAKE_HOME/.claude.json" 2>/dev/null | python3 -c "
739739
import json, sys
740-
d = json.load(open('$FAKE_HOME/.claude.json'))
740+
d = json.load(sys.stdin)
741741
if 'codebase-memory-mcp' in d.get('mcpServers', {}):
742742
sys.exit(1)
743743
if not d.get('existingKey', False):
@@ -751,9 +751,9 @@ else
751751
fi
752752

753753
# 9c: Legacy MCP removed
754-
if python3 -c "
754+
if cat "$FAKE_HOME/.claude/.mcp.json" 2>/dev/null | python3 -c "
755755
import json, sys
756-
d = json.load(open('$FAKE_HOME/.claude/.mcp.json'))
756+
d = json.load(sys.stdin)
757757
sys.exit(1 if 'codebase-memory-mcp' in d.get('mcpServers', {}) else 0)
758758
" 2>/dev/null; then
759759
echo "OK 9c: legacy .mcp.json cleaned"
@@ -763,9 +763,9 @@ else
763763
fi
764764

765765
# 9d: Hooks removed
766-
if python3 -c "
766+
if cat "$FAKE_HOME/.claude/settings.json" 2>/dev/null | python3 -c "
767767
import json, sys
768-
d = json.load(open('$FAKE_HOME/.claude/settings.json'))
768+
d = json.load(sys.stdin)
769769
hooks = d.get('hooks', {}).get('PreToolUse', [])
770770
found = any('cbm-code-discovery-gate' in str(h) for h in hooks)
771771
sys.exit(1 if found else 0)
@@ -788,9 +788,9 @@ fi
788788
echo "OK 9e-f: Codex TOML cleaned, existing preserved"
789789

790790
# 9g-i: Gemini MCP removed, existing preserved, hooks removed
791-
if python3 -c "
791+
if cat "$FAKE_HOME/.gemini/settings.json" 2>/dev/null | python3 -c "
792792
import json, sys
793-
d = json.load(open('$FAKE_HOME/.gemini/settings.json'))
793+
d = json.load(sys.stdin)
794794
has_mcp = 'codebase-memory-mcp' in d.get('mcpServers', {})
795795
has_existing = d.get('existingKey', False)
796796
hooks = d.get('hooks', {}).get('BeforeTool', [])
@@ -804,9 +804,9 @@ else
804804
fi
805805

806806
# 9j: VS Code
807-
if python3 -c "
807+
if cat "$VSCODE_CFG" 2>/dev/null | python3 -c "
808808
import json, sys
809-
d = json.load(open('$VSCODE_CFG'))
809+
d = json.load(sys.stdin)
810810
sys.exit(1 if 'codebase-memory-mcp' in d.get('servers', {}) else 0)
811811
" 2>/dev/null; then
812812
echo "OK 9j: VS Code MCP removed"
@@ -816,9 +816,9 @@ else
816816
fi
817817

818818
# 9k: OpenClaw
819-
if python3 -c "
819+
if cat "$FAKE_HOME/.openclaw/openclaw.json" 2>/dev/null | python3 -c "
820820
import json, sys
821-
d = json.load(open('$FAKE_HOME/.openclaw/openclaw.json'))
821+
d = json.load(sys.stdin)
822822
sys.exit(1 if 'codebase-memory-mcp' in d.get('mcpServers', {}) else 0)
823823
" 2>/dev/null; then
824824
echo "OK 9k: OpenClaw MCP removed"
@@ -858,9 +858,9 @@ cp "$BINARY" "$IDEM_HOME/.local/bin/codebase-memory-mcp"
858858
HOME="$IDEM_HOME" "$BINARY" install -y 2>&1 > /dev/null || true
859859
HOME="$IDEM_HOME" "$BINARY" install -y 2>&1 > /dev/null || true
860860
# Count MCP entries — should be exactly 1
861-
COUNT=$(python3 -c "
862-
import json
863-
d = json.load(open('$IDEM_HOME/.claude.json'))
861+
COUNT=$(cat "$IDEM_HOME/.claude.json" 2>/dev/null | python3 -c "
862+
import json, sys
863+
d = json.load(sys.stdin)
864864
print(list(d.get('mcpServers',{}).keys()).count('codebase-memory-mcp'))
865865
" 2>/dev/null || echo "0")
866866
if [ "$COUNT" != "1" ]; then
@@ -1078,11 +1078,9 @@ if [ -n "${SMOKE_DOWNLOAD_URL:-}" ]; then
10781078
echo "OK 14e: binary removed by uninstall"
10791079

10801080
# 14f: Verify agent config cleaned
1081-
if python3 -c "
1082-
import json, sys, os
1083-
f = '$UPDATE_HOME/.claude.json'
1084-
if not os.path.isfile(f): sys.exit(0)
1085-
d = json.load(open(f))
1081+
if cat "$UPDATE_HOME/.claude.json" 2>/dev/null | python3 -c "
1082+
import json, sys
1083+
d = json.load(sys.stdin)
10861084
if 'codebase-memory-mcp' in d.get('mcpServers', {}): sys.exit(1)
10871085
sys.exit(0)
10881086
" 2>/dev/null; then

0 commit comments

Comments
 (0)