| 123456789101112131415161718192021222324252627282930313233 |
- #!/usr/bin/env bash
- # Run every skill's behavioural test suite (skills/*/tests/run.sh).
- # Suites are responsible for their own OS gating (exit 0 with a skip
- # message on unsupported platforms). Any nonzero exit fails this runner.
- set -u
- ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
- cd "$ROOT" || exit 1
- suites=(skills/*/tests/run.sh)
- if [ ! -e "${suites[0]}" ]; then
- echo "No skill test suites found (skills/*/tests/run.sh)"
- exit 0
- fi
- failed=0
- total=0
- for suite in "${suites[@]}"; do
- total=$((total + 1))
- name="$(basename "$(dirname "$(dirname "$suite")")")"
- echo "=== $name"
- if bash "$suite"; then
- echo "--- $name: PASS"
- else
- rc=$?
- echo "--- $name: FAIL (exit $rc)"
- failed=$((failed + 1))
- fi
- echo
- done
- echo "Skill test suites: $((total - failed))/$total passed"
- [ "$failed" -eq 0 ] || exit 1
|