test(engine): give the ffmpeg-bound grouping mixes their 30s timeout - #3398
Merged
Conversation
audioMixer.grouping.test.ts spawns real ffmpeg per assertion and ran on vitest's 5s default; on slow Windows runners the FX-chain and envelope cases land right at the line and fail runs that touch nothing in the engine. The other ffmpeg-bound engine suites (videoFrameExtractor) already carry a per-test 30_000 timeout; this brings the grouping suite in line.
Merged
vanceingalls
added a commit
that referenced
this pull request
Aug 21, 2026
`routing isolation` timed out at 30,000ms on the Windows runner again (#3401). It is not a hang and not that PR's doing — that diff touches no engine code, and on main's last passing Windows run the same test measured 10,050ms with the file at 19,446ms. A ~10s test under a 30s cap on a runner with this much variance fails on any bad host; 120s is ~12x the healthy time, so a timeout should mean a real stall again. Written as per-test arguments, replacing #3398's 30s ones. My earlier attempt at this (#3397) added `vi.setConfig({ testTimeout: 60_000 })` instead, which would have merged and changed nothing: an explicit per-test argument overrides the file-level config. Verified directly — a 50ms argument beats a 60s setConfig.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the per-test
30_000timeout to the five tests inpackages/engine/src/services/audioMixer.grouping.test.ts.Why
These tests spawn real ffmpeg per assertion and were running on vitest's 5s default. On slow Windows runners the FX-chain and envelope cases land right at the line and intermittently fail "Tests on windows-latest" for PRs that touch nothing in the engine (observed twice on an unrelated docs/registry PR, including once at 5.02s). The other ffmpeg-bound engine suite,
videoFrameExtractor.test.ts, already carries per-test30_000timeouts; this brings the grouping suite in line.How
}, 30_000);on each of the fiveitblocks. No logic changes.Test plan
vitest run src/services/audioMixer.grouping.test.ts: 5/5 pass locally (2.4s on this machine; the margin matters only on the slow runners).oxfmt --checkclean.