Ver código fonte

Fix tests to use --allowed-tools flag

Claude Code headless mode requires --allowed-tools flag to actually
execute tool calls. Without it, Claude only responds as if it's doing
things but doesn't actually use tools.

Changes:
- Updated run_claude helper to accept allowed_tools parameter
- Updated integration test to use --allowed-tools=all
- This enables actual tool execution (Write, Task, Bash, etc.)

Now the integration test should actually execute the workflow instead
of just talking about it.
Jesse Vincent 9 meses atrás
pai
commit
06310d6f5f

+ 9 - 2
tests/claude-code/test-helpers.sh

@@ -2,14 +2,21 @@
 # Helper functions for Claude Code skill tests
 
 # Run Claude Code with a prompt and capture output
-# Usage: run_claude "prompt text" [timeout_seconds]
+# Usage: run_claude "prompt text" [timeout_seconds] [allowed_tools]
 run_claude() {
     local prompt="$1"
     local timeout="${2:-60}"
+    local allowed_tools="${3:-}"
     local output_file=$(mktemp)
 
+    # Build command
+    local cmd="claude -p \"$prompt\""
+    if [ -n "$allowed_tools" ]; then
+        cmd="$cmd --allowed-tools=$allowed_tools"
+    fi
+
     # Run Claude in headless mode with timeout
-    if timeout "$timeout" claude -p "$prompt" > "$output_file" 2>&1; then
+    if timeout "$timeout" bash -c "$cmd" > "$output_file" 2>&1; then
         cat "$output_file"
         rm -f "$output_file"
         return 0

+ 2 - 1
tests/claude-code/test-subagent-driven-development-integration.sh

@@ -134,8 +134,9 @@ Begin now. Execute the plan.
 EOF
 
 # Note: We use a longer timeout since this is integration testing
+# Use --allowed-tools to enable tool usage in headless mode
 PROMPT=$(cat "$TEST_PROJECT/prompt.txt")
-timeout 1800 claude -p "$PROMPT" > "$OUTPUT_FILE" 2>&1 || {
+timeout 1800 claude -p "$PROMPT" --allowed-tools=all > "$OUTPUT_FILE" 2>&1 || {
     echo "EXECUTION FAILED"
     cat "$OUTPUT_FILE"
     exit 1