test_all_agents.sh
1 #!/bin/bash 2 # Test all ECHO agents for corrupt atom table errors 3 4 echo "================================================" 5 echo "ECHO Agent Verification Test" 6 echo "================================================" 7 echo "" 8 echo "System Information:" 9 elixir --version | head -2 10 echo "" 11 echo "Testing all 9 agents..." 12 echo "================================================" 13 echo "" 14 15 agents=( 16 "ceo" 17 "cto" 18 "chro" 19 "operations_head" 20 "product_manager" 21 "senior_architect" 22 "senior_developer" 23 "test_lead" 24 "uiux_engineer" 25 ) 26 27 success_count=0 28 fail_count=0 29 30 for agent in "${agents[@]}"; do 31 printf "%-20s " "$agent:" 32 33 cd "/Users/pranav/Documents/echo/apps/$agent" 34 35 # Check if escript exists 36 if [ ! -f "./$agent" ]; then 37 echo "✗ MISSING" 38 ((fail_count++)) 39 continue 40 fi 41 42 # Test execution (timeout after 2 seconds) 43 output=$(gtimeout 2 "./$agent" 2>&1 || timeout 2 "./$agent" 2>&1 || (sleep 2 & PID=$!; "./$agent" 2>&1 & AGENT_PID=$!; sleep 2; kill $AGENT_PID 2>/dev/null; kill $PID 2>/dev/null; wait 2>/dev/null)) 44 45 # Check for errors 46 if echo "$output" | grep -qi "corrupt.*atom"; then 47 echo "✗ CORRUPT ATOM TABLE ERROR" 48 ((fail_count++)) 49 elif echo "$output" | grep -qi "error loading"; then 50 echo "✗ LOADING ERROR" 51 ((fail_count++)) 52 elif echo "$output" | grep -qi "undefined function.*main"; then 53 echo "✗ MAIN FUNCTION ERROR" 54 ((fail_count++)) 55 elif echo "$output" | grep -q "Starting.*MCP server"; then 56 echo "✓ OK" 57 ((success_count++)) 58 elif echo "$output" | grep -q "Starting.*Agent"; then 59 echo "✓ OK" 60 ((success_count++)) 61 else 62 echo "? UNKNOWN (manual check needed)" 63 fi 64 done 65 66 echo "" 67 echo "================================================" 68 echo "Results: $success_count/9 agents passed" 69 echo "================================================" 70 71 if [ $fail_count -eq 0 ]; then 72 echo "✓ All agents working correctly!" 73 exit 0 74 else 75 echo "✗ $fail_count agent(s) failed" 76 exit 1 77 fi