Fix Docker tests to achieve 100% on 2/3 installation methods

Major fixes:
- Fixed Claude Code verification (was checking 'claude-code', now checks 'claude')
- Fixed volume mount paths (use absolute path /tmp/claude-repo for runtime)
- Fixed agents copy path (removed incorrect /agents/ subdirectory)
- Fixed critical agent paths (studio-coach in bonus/, not project-management)
- Added expect package for interactive installer automation
- Fixed test count aggregation to read from individual result files

Test Results (after fixes):
 Manual Installation: 27/27 passing (100%)
 Master Prompt Installation: 15/15 passing (100%)
⚠️  Interactive Installer: 7/13 passing (54% - expect automation issue)

Note: Interactive installer works fine for manual testing, just difficult
to automate with expect scripts due to prompt matching complexity.
This commit is contained in:
uroma
2026-01-16 10:54:31 +00:00
Unverified
parent 18fa867922
commit 8014ad0bcc
4 changed files with 21 additions and 26 deletions

View File

@@ -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