Implement playable Mac client and rendering validation
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
# A JSON PASS is insufficient: shutdown happens after the report is written.
|
||||
# Keep the exported client's complete log and fail on renderer/RID leaks too.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
app_path="${MT_RENDER_APP:-$PWD/build/export/mtgodot-poc.app}"
|
||||
output_dir="${MT_RENDER_OUTPUT:-$PWD/build/rendering/package-gate-$(date +%Y%m%d-%H%M%S)-$$}"
|
||||
test -x "$app_path/Contents/MacOS/mtgodot-poc"
|
||||
mkdir -p "$output_dir"
|
||||
status=0
|
||||
env -u MT_ASSETS MT_TEST_MODE=render MT_RENDER_OUTPUT="$output_dir" \
|
||||
"$app_path/Contents/MacOS/mtgodot-poc" --quit-after 1800 >"$output_dir/client.log" 2>&1 || status=$?
|
||||
if [ "$status" -ne 0 ] || ! rg -q '^PKGRENDER: PASS$' "$output_dir/client.log" || \
|
||||
rg -q 'SCRIPT ERROR|^ERROR:|leaked at exit|shaders of type .* were never freed' "$output_dir/client.log"; then
|
||||
echo "FAIL: package load/exit gate (exit=$status): $output_dir/client.log"
|
||||
exit 1
|
||||
fi
|
||||
echo "PASS: package load and clean exit: $output_dir/client.log"
|
||||
Reference in New Issue
Block a user