#!/usr/bin/env bash # Runs every tests/NN-*.sh (or those matching $1) in a fresh netssh home and # prints a summary. Exit code 1 if any check failed. set -u export RESULTS=/tmp/netssh-results : >"$RESULTS" filter=${1:-} for file in /tests/[0-9][0-9]-*.sh; do name=$(basename "$file" .sh) [[ -n $filter && $name != *"$filter"* ]] && continue echo "== $name" ( export CURRENT=$name . /tests/lib.sh new_home . "$file" ) done passed=$(grep -c '^ok ' "$RESULTS" || true) failed=$(grep -c '^FAIL ' "$RESULTS" || true) echo echo "passed: $passed, failed: $failed" if [ "$failed" -gt 0 ]; then grep '^FAIL ' "$RESULTS" | sed 's/^/ /' exit 1 fi