- Seeded weather (clear/cloudy/rain/storm, snow and blizzards on cold days and above the snowline), lightning, synthesised rain/wind/thunder sound - Rain/snow particles stopped by roofs; wet ground, settled snow and wind via global shader uniforms - Snap-together wood floor, wall, door, roof and gable with structural support, collapse and X to dismantle - Shelter detection: dry under a roof, warmer and Rested inside with a fire; rain burns an uncovered campfire faster - Bed sets the spawn point and lets you sleep through the night - Trees, boulders and ground pickups regrow; timers saved - Grass cleared under floors; shorter HUD hint - New test_weather_building suite (62 checks) and tests/run_all.sh, which also fails on script errors
22 lines
848 B
Bash
Executable File
22 lines
848 B
Bash
Executable File
#!/bin/sh
|
|
# Runs every headless test suite. Fails if any suite fails OR prints a script
|
|
# error (a script that fails to compile can otherwise let a suite "pass").
|
|
# Usage: tests/run_all.sh (from the repo root; needs `godot` on PATH)
|
|
cd "$(dirname "$0")/.." || exit 1
|
|
status=0
|
|
for t in test_survival_core test_survival_stats test_save_load test_weather_building test_terrain_edges test_boundary; do
|
|
extra=""
|
|
[ "$t" = "test_boundary" ] && extra="--fixed-fps 30"
|
|
out=$(godot --headless --path . $extra --script "res://tests/$t.gd" 2>&1)
|
|
code=$?
|
|
result=$(printf '%s\n' "$out" | grep "RESULT:" | tail -n 1)
|
|
if [ $code -ne 0 ] || printf '%s\n' "$out" | grep -q "SCRIPT ERROR"; then
|
|
echo "FAIL $t $result"
|
|
printf '%s\n' "$out" | grep -E "FAIL|SCRIPT ERROR|at: " | head -n 20
|
|
status=1
|
|
else
|
|
echo "ok $t $result"
|
|
fi
|
|
done
|
|
exit $status
|