/ scripts / testing / test_all_agents.sh
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