refactor(scripts): ♻️ Simplify and improve error handling in dev.sh by reorganizing log paths and updating success/failure conditions

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Claude Code 2026-04-10 18:33:54 -07:00
parent 8c365cf63d
commit d25d2fe37e

View file

@ -88,23 +88,21 @@ cmd_test() {
}
_run_stability_test() {
# Uses the existing screenshot pipeline to boot the game, navigate to
# world_map, wait 20s, and capture a screenshot. If the game crashes
# before the screenshot is taken, the test fails.
local STABILITY_LOG="$REPO_ROOT/.project/logs/stability_$(date +%Y%m%d_%H%M%S).log"
mkdir -p "$(dirname "$STABILITY_LOG")"
"$REPO_ROOT/tools/screenshot.sh" "stability_test" "world_map" "20" > "$STABILITY_LOG" 2>&1
local RESULT=$?
if [ $RESULT -ne 0 ]; then
echo -e "${RED}FAIL: Stability test failed (exit code $RESULT)${NC}"
tail -10 "$STABILITY_LOG" | grep -E "SCRIPT ERROR|ERROR:" | head -5
# Boots the game → world_map, waits 20s, captures screenshot.
# If the game crashes before capture, exit code is non-zero.
local LOG="/tmp/stability_test_$$.log"
cmd_screenshot "stability_test" "world_map" "20" > "$LOG" 2>&1
if [ $? -ne 0 ]; then
echo -e "${RED}FAIL: Game crashed during stability test${NC}"
grep -E "SCRIPT ERROR|ERROR:" "$LOG" | head -5
return 1
fi
if grep -q "SCREENSHOT_PATH:" "$STABILITY_LOG"; then
if grep -q "Captured:" "$LOG"; then
echo -e "${GREEN}PASS: Game stable for 20s, screenshot captured${NC}"
return 0
else
echo -e "${RED}FAIL: Game ran but no screenshot captured${NC}"
cat "$LOG" | tail -5
return 1
fi
}