#!/bin/bash # The whole game freezes while the iOS app is inactive (video::SuspendGame): # a Mac run with no device and no input. NFSMW_TEST_SUSPEND makes the app # go inactive on time during the attract movie (the same app events, each # delivered twice, as UIKit does), the process is SIGSTOPped inside the # long suspension as iOS stops a backgrounded app, and the log is checked # against the pass criteria. Extra env vars pass through. # scripts/test_suspend.sh [label] # SUSPEND="30+0.2,40+6,55+12b" the windows: +[b] ("b": in the # background too). SUSPEND= (empty): none, a # plain run (each run is its own yardstick) # MAX_SECS=130 how long to wait for the attract movie's # [movie] line # MOVIE_FRAMES=900 the fewest frames that line has (the intro # movies are shorter) # NFSMW_TEST_SUSPEND_GPU_ONLY=1 the red baseline: only the GPU held, as # before 2026-10-02 (criteria 4 and 6 fail) # NFSMW_MUTE=0 opens SDL's dummy audio device (criterion 7 # and the audio queue need one) # SDL_VIDEO_DRIVER= a real window instead of SDL's offscreen one # Only a run with a window has the GPU gate the bug came through: under # NFSMW_HEADLESS=1 the switch calls SuspendGame/ResumeGame itself, which # checks the clocks alone (on today's tree nothing stalls headless). # Output in build/suspend_