#!/usr/bin/env bash # Prüflauf: erst der Parse-Vorlauf (Sekunden), dann die Suite. # tests/run.sh voller Lauf # tests/run.sh schnell ohne die langen Simulationen cd "$(dirname "$0")/.." || exit 2 log=${TMPDIR:-/tmp}/traumwandler mkdir -p "$log" if ! timeout 90 godot --headless --path . tests/parse.tscn > "$log/parse.log" 2>&1; then grep -E "SCRIPT ERROR|PARSE FEHLER|Parse-Vorlauf" "$log/parse.log" echo "Parse-Vorlauf fehlgeschlagen" exit 1 fi timeout 600 godot --headless --path . tests/verify.tscn -- "$@" > "$log/suite.log" 2>&1 code=$? echo "OK: $(grep -c ' OK ' "$log/suite.log")" grep -E "FEHLT|Fehlende|SCRIPT ERROR|Parse Error|Langsamste|Schnelllauf" "$log/suite.log" fehler=$(grep -E "^(SCRIPT )?ERROR:" "$log/suite.log" | grep -v "leaked" | sort | uniq -c | sort -rn) if [ -n "$fehler" ]; then echo "Engine-Fehler:"; echo "$fehler" | head -10; [ $code -eq 0 ] && code=3; fi [ $code -eq 124 ] && echo "Timeout -- Log: $log/suite.log" exit $code