#!/usr/bin/env bash # Run all bats test files in the repo. # Usage: bash tests/run-bats.sh set -euo pipefail REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" BATS="$REPO_ROOT/tests/bats/bin/bats" if [[ ! -x "$BATS" ]]; then echo "Error: bats not found at $BATS" >&2 echo " Run: git submodule update --init --recursive" >&2 exit 1 fi mapfile -t TEST_FILES < <( find "$REPO_ROOT" -name "*.bats" \ -not -path "*/tests/bats/*" \ -not -path "*/test_helper/*" \ -not -path "*/.claude/worktrees/*" \ | sort ) if [[ ${#TEST_FILES[@]} -eq 0 ]]; then echo "No .bats test files found." >&2 exit 0 fi "$BATS" "${TEST_FILES[@]}"