#!/usr/bin/env bash # prole/tests/etc/run_all.sh # Runner for all script unit tests in etc/ SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) TEST_DIR="$SCRIPT_DIR" PASSED=0 FAILED=0 FAILED_TESTS=() echo "Running etc/ script unit tests..." echo "--------------------------------" for test_script in "$TEST_DIR"/test_*.sh; do if [[ -f "$test_script" ]]; then echo -n "Running $(basename "$test_script")... " if bash "$test_script" > /dev/null 2>&1; then echo "PASSED" ((PASSED++)) else echo "FAILED" ((FAILED++)) FAILED_TESTS+=("$(basename "$test_script")") fi fi done echo "--------------------------------" echo "Tests completed: $((PASSED + FAILED))" echo "Passed: $PASSED" echo "Failed: $FAILED" if [[ $FAILED -gt 0 ]]; then echo "Failed tests: ${FAILED_TESTS[*]}" exit 1 fi exit 0