Implement playable Mac client and rendering validation
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
# Repeatable, non-network regression sweep; logs retain failures and warnings.
|
||||
set -uo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
run_dir="$(pwd)/build/rendering/batch-$(date +%Y%m%d-%H%M%S)-$$"
|
||||
mkdir -p "$run_dir"
|
||||
failed=0
|
||||
run_test() {
|
||||
local mode="$1" test_script="$2" log="$run_dir/$1-${2%.gd}.log"
|
||||
local options=(--path project)
|
||||
if [ "$mode" = headless ]; then options+=(--headless); fi
|
||||
"${GODOT:-godot}" "${options[@]}" --script "$test_script" --quit-after 1800 >"$log" 2>&1
|
||||
local status=$?
|
||||
if [ "$status" -ne 0 ] || rg -q 'SCRIPT ERROR|Parse Error|^FAIL:|check\(s\) failed' "$log" || ! rg -q 'PASS|failures=0' "$log"; then
|
||||
echo "FAIL $mode $test_script (exit=$status): $log"
|
||||
failed=$((failed + 1))
|
||||
else
|
||||
echo "PASS $mode $test_script"
|
||||
fi
|
||||
if rg -q 'leaked at exit' "$log"; then echo "WARN resource leak: $log"; fi
|
||||
}
|
||||
for test_script in animation_cache_test.gd target_effect_test.gd effect_space_test.gd effect_faces_test.gd motion_effect_anchor_test.gd mob_winding_test.gd water_reference_test.gd effect_texture_animation_test.gd dds_lifecycle_test.gd effect_color_operation_test.gd effect_color_test.gd effect_scale_test.gd effect_rotation_test.gd effect_surface_test.gd effect_emission_test.gd effect_render_regression_test.gd effect_playback_test.gd fx_test.gd skill_fx_test.gd player_skill_test.gd skill_test.gd damage_effect_test.gd combat_fx_test.gd app_flow_lifecycle_test.gd playable_harness_test.gd playable_adapter_test.gd gamescene_test.gd equip_model_test.gd equip_rules_test.gd race_motion_assembly_test.gd character_winding_test.gd; do
|
||||
run_test headless "$test_script"
|
||||
done
|
||||
for test_script in effect_faces_test.gd effect_lie_test.gd effect_texture_animation_test.gd effect_color_operation_test.gd effect_surface_test.gd effect_emission_test.gd effect_rotation_test.gd model_render_test.gd gpu_lod_attachment_test.gd gpu_pose_bounds_test.gd forest_mob_render_test.gd; do
|
||||
run_test metal "$test_script"
|
||||
done
|
||||
for mode in headless metal; do
|
||||
MT_TREE_OUTPUT="$run_dir/native-trees-$mode" run_test "$mode" native_tree_test.gd
|
||||
run_test "$mode" effect_random_rotation_test.gd
|
||||
run_test "$mode" fly_target_bounds_test.gd
|
||||
done
|
||||
echo "BATCH failures=$failed logs=$run_dir"
|
||||
test "$failed" -eq 0
|
||||
Reference in New Issue
Block a user