#!/bin/bash # -*- coding: utf-8 -*- # Timestamp: "2025-11-10 01:38:00 (ywatanabe)" # File: ./tests/scripts/run_all_tests.sh # Description: Run all shell script tests set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" cd "$PROJECT_ROOT" # Colors GREEN='\033[0;32m' RED='\033[0;31m' BLUE='\033[0;34m' NC='\033[0m' echo -e "${BLUE}======================================" echo "Running All Shell Script Tests" echo -e "======================================${NC}" echo TOTAL_FAILED=0 # Find all test scripts for test_script in "$SCRIPT_DIR"/test_*.sh; do if [ -f "$test_script" ] && [ -x "$test_script" ]; then echo -e "${BLUE}Running: $(basename $test_script)${NC}" echo "--------------------------------------" if bash "$test_script"; then echo -e "${GREEN}✓ $(basename $test_script) passed${NC}" else echo -e "${RED}✗ $(basename $test_script) failed${NC}" TOTAL_FAILED=$((TOTAL_FAILED + 1)) fi echo fi done echo -e "${BLUE}======================================" if [ $TOTAL_FAILED -eq 0 ]; then echo -e "${GREEN}All test suites passed!${NC}" echo -e "${BLUE}======================================${NC}" exit 0 else echo -e "${RED}$TOTAL_FAILED test suite(s) failed!${NC}" echo -e "${BLUE}======================================${NC}" exit 1 fi # EOF