#!/usr/bin/env bash set -uo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" fail=0 for f in "$ROOT"/tests/*.tex "$ROOT"/examples/*.tex; do [[ -e "$f" ]] || continue name="$(basename "$f")" if "$ROOT/scripts/build.sh" "$f" >/dev/null 2>&1; then echo " ok $name" else echo " FAIL $name" fail=$((fail+1)) fi done for f in "$ROOT"/tests/lint-invalid/*.tex; do [[ -e "$f" ]] || continue name="$(basename "$f")" if python3 "$ROOT/scripts/lint.py" "$f" >/dev/null 2>&1; then echo " FAIL $name (invalid fixture passed lint)" fail=$((fail+1)) else echo " ok $name (rejected by lint)" fi done for f in "$ROOT"/tests/invalid/*.tex; do [[ -e "$f" ]] || continue name="$(basename "$f")" if "$ROOT/scripts/build.sh" "$f" >/dev/null 2>&1; then echo " FAIL $name (invalid fixture built)" fail=$((fail+1)) else echo " ok $name (rejected by package/build)" fi done if [[ $fail -gt 0 ]]; then echo "$fail failing check(s)" >&2 exit 1 fi echo "all superderive checks passed"