21 lines
978 B
Bash
Executable File
21 lines
978 B
Bash
Executable File
#!/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
|