Test: cover audio format variants in the mock-game stress suite

mock_game_test now launches coop_mock_game at 44100/48000/96000 (PCM + float)
and asserts the hook measures each variant's rate through the full inject path
(+ non-silent capture) -- the "all audio variants work" part of the suite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 05:34:50 +02:00
parent 5796d5af39
commit 2d65961bf2
2 changed files with 99 additions and 4 deletions

View File

@@ -214,10 +214,12 @@ ctest --test-dir build -C Debug --output-on-failure
hook's shared video texture, and **decodes the frame number out of the captured pixels**
to assert the mirror sees a *monotonic, advancing* sequence for both backends (the bar
for no dropped / stale / out-of-order frames — what the DX12 rotating-backbuffer bug
broke). It then injects with audio + video, checks both stream, cycles the audio
subsystem off/on (hook/unhook stress), and confirms the game never crashes and capture
resumes. This suite drove out five real audio races (see Lessons learned). Skips cleanly
without a D3D11 device.
broke). It launches the game at several **audio formats** (44100/48000/96000, PCM +
float) and asserts the hook measures each one's rate through the full inject path, then
injects with audio + video, checks both stream, cycles the audio subsystem off/on
(hook/unhook stress), and confirms the game never crashes and capture resumes. This
suite drove out five real audio races (see Lessons learned). Skips cleanly without a
D3D11 device.
### Debugging the hooks against a real game