Files
Bullosseum/run_tests.sh
T
richard 400ae24f92 Remove the persistent blood-decal system
Strip only the floor/wall blood-splat decals added in 981ebf1, keeping the
older death-spray, spear-wound spurt, and "Blood & Gore" toggle:

- Delete blood_decals.gd + shader, the Gore autoload (gore.gd), and
  tests/blood_decals_test.gd
- Drop the Gore autoload and the Blood DP section
- Remove all Gore.splat() call sites (matador.gd, bear.gd, player.gd);
  the _blood_burst spray and _spawn_blood spurt stay
- game_shell no longer spawns a per-level decal pool
- Update level_switch test + run_tests.sh accordingly

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CmG3mQGVXZUPDVapmdbWZ1
2026-09-04 22:41:00 +03:00

50 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Run all project tests. Exit code 0 = all passed.
# Usage: bash run_tests.sh [--no-gameplay]
set -euo pipefail
GODOT="${GODOT:-godot}"
SKIP_GAMEPLAY=0
for arg in "$@"; do [[ "$arg" == "--no-gameplay" ]] && SKIP_GAMEPLAY=1; done
echo "=== gdlint ==="
gdlint *.gd levels/*.gd tests/*.gd
echo ""
echo "=== Logic tests ==="
"$GODOT" --headless --script tests/logic_test.gd
echo ""
echo "=== Console focus tests ==="
"$GODOT" --headless --script tests/console_focus_test.gd
echo ""
echo "=== Level switch tests (no cross-level geometry/collider leaks) ==="
"$GODOT" --headless --script tests/level_switch_test.gd
echo ""
echo "=== Touch control tests (joystick self-heals, never strands) ==="
"$GODOT" --headless --script tests/touch_controls_test.gd
echo ""
echo "=== Rigid-skin tests (web mesh conversion keeps all materials) ==="
"$GODOT" --headless --script tests/rigid_skin_test.gd
echo ""
echo "=== Performance tests (frame-budget regression guard) ==="
"$GODOT" --headless --script tests/performance_test.gd
echo ""
echo "=== Ragdoll perf (on-hit spike breakdown: build / sim-start / burst / mass hit) ==="
"$GODOT" --headless --script tests/ragdoll_perf_test.gd
if [[ "$SKIP_GAMEPLAY" -eq 0 ]]; then
echo ""
echo "=== Gameplay tests (headless — assertions only, screenshots may be blank) ==="
"$GODOT" --headless --script tests/gameplay_test.gd
echo "Frame strip: tests/output/gameplay/"
fi
echo ""
echo "=== All tests passed ==="