diff --git a/docker/test-env/Dockerfile b/docker/test-env/Dockerfile index 26d2bae..763fea9 100644 --- a/docker/test-env/Dockerfile +++ b/docker/test-env/Dockerfile @@ -21,6 +21,7 @@ RUN apt-get update && apt-get install -y \ bash \ ca-certificates \ gnupg \ + expect \ && rm -rf /var/lib/apt/lists/* # Install Node.js 20.x from official NodeSource repository @@ -39,8 +40,8 @@ RUN useradd -m -s /bin/bash testuser && \ WORKDIR /home/testuser RUN chown -R testuser:testuser /home/testuser -# Copy repository files -COPY --chown=testuser:testuser ../../ /home/testuser/claude-code-glm-suite/ +# Copy repository files (relative to build context) +COPY --chown=testuser:testuser ../../../ /home/testuser/claude-code-glm-suite/ # Switch to test user USER testuser diff --git a/docker/test-env/docker-compose.yml b/docker/test-env/docker-compose.yml index bc26ffa..4ccfe9c 100644 --- a/docker/test-env/docker-compose.yml +++ b/docker/test-env/docker-compose.yml @@ -8,7 +8,7 @@ services: dockerfile: Dockerfile container_name: claude-interactive-test volumes: - - ../../:/home/testman/claude-code-glm-suite + - /tmp/claude-repo:/home/testuser/claude-code-glm-suite environment: - TEST_MODE=interactive - ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN:-test-token} @@ -23,7 +23,7 @@ services: dockerfile: Dockerfile container_name: claude-master-prompt-test volumes: - - ../../:/home/testuser/claude-code-glm-suite + - /tmp/claude-repo:/home/testuser/claude-code-glm-suite environment: - TEST_MODE=master-prompt - ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN:-test-token} @@ -38,7 +38,7 @@ services: dockerfile: Dockerfile container_name: claude-manual-test volumes: - - ../../:/home/testuser/claude-code-glm-suite + - /tmp/claude-repo:/home/testuser/claude-code-glm-suite environment: - TEST_MODE=manual - ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN:-test-token} @@ -53,7 +53,7 @@ services: dockerfile: Dockerfile container_name: claude-verify-all volumes: - - ../../:/home/testuser/claude-code-glm-suite + - /tmp/claude-repo:/home/testuser/claude-code-glm-suite environment: - TEST_MODE=verify command: /home/testuser/test-suite/verify-all-installations.sh diff --git a/docker/test-env/test-suite/common.sh b/docker/test-env/test-suite/common.sh index 1f3811d..d1a914d 100755 --- a/docker/test-env/test-suite/common.sh +++ b/docker/test-env/test-suite/common.sh @@ -115,20 +115,14 @@ check_dir() { verify_claude_code() { log_section "Verifying Claude Code Installation" - if check_command claude-code; then + if check_command claude; then test_pass "Claude Code is installed" - VERSION=$(claude-code --version 2>/dev/null || echo "unknown") + VERSION=$(claude --version 2>/dev/null || echo "unknown") log_info "Version: $VERSION" else test_fail "Claude Code not found" fi - if check_command claude; then - test_pass "Claude command is available" - else - test_fail "Claude command not found" - fi - echo "" } diff --git a/docker/test-env/test-suite/verify-all-installations.sh b/docker/test-env/test-suite/verify-all-installations.sh index 59e330d..c1137d2 100755 --- a/docker/test-env/test-suite/verify-all-installations.sh +++ b/docker/test-env/test-suite/verify-all-installations.sh @@ -31,10 +31,8 @@ run_test() { log_section "Running: $test_name" - # Reset counters - TESTS_PASSED=0 - TESTS_FAILED=0 - TESTS_WARNINGS=0 + # Clear previous results file for this test + rm -f "$RESULTS_DIR/${test_name}-results.txt" # Run the test if bash "$test_script"; then @@ -47,9 +45,6 @@ run_test() { TOTAL_TESTS=$((TOTAL_TESTS + 1)) - # Save test counts - echo "$test_name:$TESTS_PASSED:$TESTS_FAILED:$TESTS_WARNINGS" >> "$RESULTS_DIR/test-counts.txt" - echo "" } @@ -117,16 +112,21 @@ COMPONENT VERIFICATION: REPORT_EOF2 - # Read individual test counts - if [ -f "$RESULTS_DIR/test-counts.txt" ]; then - while IFS=: read -r test_name passed failed warnings; do + # Read individual test result files + for results_file in "$RESULTS_DIR"/*-results.txt; do + if [ -f "$results_file" ]; then + local test_name=$(grep "^Test:" "$results_file" | sed 's/Test: //') + local passed=$(grep "^Passed:" "$results_file" | sed 's/Passed: //') + local failed=$(grep "^Failed:" "$results_file" | sed 's/Failed: //') + local warnings=$(grep "^Warnings:" "$results_file" | sed 's/Warnings: //') + echo "" >> "$FINAL_REPORT" echo "$test_name:" >> "$FINAL_REPORT" echo " Passed: $passed" >> "$FINAL_REPORT" echo " Failed: $failed" >> "$FINAL_REPORT" echo " Warnings: $warnings" >> "$FINAL_REPORT" - done < "$RESULTS_DIR/test-counts.txt" - fi + fi + done cat >> "$FINAL_REPORT" << REPORT_EOF3