79 lines
4.0 KiB
Bash
Executable File
79 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Loki Mode Test Suite Runner
|
|
# Runs all test cases for the Loki Mode skill
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
TOTAL_PASSED=0
|
|
TOTAL_FAILED=0
|
|
TESTS_RUN=0
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
echo ""
|
|
echo -e "${BLUE}╔════════════════════════════════════════════════════════════════╗${NC}"
|
|
echo -e "${BLUE}║ LOKI MODE - COMPREHENSIVE TEST SUITE ║${NC}"
|
|
echo -e "${BLUE}╚════════════════════════════════════════════════════════════════╝${NC}"
|
|
echo ""
|
|
|
|
run_test() {
|
|
local test_name="$1"
|
|
local test_file="$2"
|
|
|
|
echo -e "${YELLOW}┌────────────────────────────────────────────────────────────────┐${NC}"
|
|
echo -e "${YELLOW}│ Running: ${test_name}${NC}"
|
|
echo -e "${YELLOW}└────────────────────────────────────────────────────────────────┘${NC}"
|
|
echo ""
|
|
|
|
TESTS_RUN=$((TESTS_RUN + 1))
|
|
|
|
if bash "$test_file"; then
|
|
echo ""
|
|
echo -e "${GREEN}✓ ${test_name} PASSED${NC}"
|
|
TOTAL_PASSED=$((TOTAL_PASSED + 1))
|
|
else
|
|
echo ""
|
|
echo -e "${RED}✗ ${test_name} FAILED${NC}"
|
|
TOTAL_FAILED=$((TOTAL_FAILED + 1))
|
|
fi
|
|
|
|
echo ""
|
|
echo ""
|
|
}
|
|
|
|
# Run all tests
|
|
run_test "Bootstrap Tests" "$SCRIPT_DIR/test-bootstrap.sh"
|
|
run_test "Task Queue Tests" "$SCRIPT_DIR/test-task-queue.sh"
|
|
run_test "Circuit Breaker Tests" "$SCRIPT_DIR/test-circuit-breaker.sh"
|
|
run_test "Timeout & Stuck Process Tests" "$SCRIPT_DIR/test-agent-timeout.sh"
|
|
run_test "State Recovery Tests" "$SCRIPT_DIR/test-state-recovery.sh"
|
|
run_test "Wrapper Script Tests" "$SCRIPT_DIR/test-wrapper.sh"
|
|
|
|
# Summary
|
|
echo -e "${BLUE}╔════════════════════════════════════════════════════════════════╗${NC}"
|
|
echo -e "${BLUE}║ TEST SUITE SUMMARY ║${NC}"
|
|
echo -e "${BLUE}╚════════════════════════════════════════════════════════════════╝${NC}"
|
|
echo ""
|
|
echo -e "Tests Run: ${TESTS_RUN}"
|
|
echo -e "${GREEN}Passed: ${TOTAL_PASSED}${NC}"
|
|
echo -e "${RED}Failed: ${TOTAL_FAILED}${NC}"
|
|
echo ""
|
|
|
|
if [ $TOTAL_FAILED -eq 0 ]; then
|
|
echo -e "${GREEN}╔════════════════════════════════════════════════════════════════╗${NC}"
|
|
echo -e "${GREEN}║ ALL TESTS PASSED SUCCESSFULLY! ║${NC}"
|
|
echo -e "${GREEN}╚════════════════════════════════════════════════════════════════╝${NC}"
|
|
exit 0
|
|
else
|
|
echo -e "${RED}╔════════════════════════════════════════════════════════════════╗${NC}"
|
|
echo -e "${RED}║ SOME TESTS FAILED - PLEASE REVIEW ║${NC}"
|
|
echo -e "${RED}╚════════════════════════════════════════════════════════════════╝${NC}"
|
|
exit 1
|
|
fi
|