Repository navigation
test(stinger): run the stinger tests one at a time, and pass file paths as properties - #1051
Merged
Merged
Conversation
…hs as properties On main every stinger test binary failed on CI: - macOS and Linux: takes arrived 60-70 ms late and the mixer dropped frames (22 of 30 on a macOS runner), and clip analysis missed its deadline. Each binary ran up to 12 tests at once, each with its own mixer and decoders, on a 3-core runner. Locally they land frame-exact. Run them one at a time with serial_test. - Windows: the clip writers and the remux put the file path inside a parse::launch string, where a backslash is an escape, so the files went nowhere. Set `location` as a property instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 8, 2026
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.
Refs #1010
Problem
Since #1010 was merged, the stinger tests fail on main on all three platforms (run 37758507367). On the PR itself, the macOS and Windows jobs were skipped, and Linux passed.
frames_arrived17–26 of 30 on the macOS runner, 29 of 30 on Linux). Two other symptoms:stinger never readyandanalysis never ranafter 20–30 s.stinger never ready, a remux that fails withStateChangeError, andAccess is deniedwhen a clip is replaced on disk.Change
stinger_test,stinger_api_test,stinger_prores_testandstinger_clip_testgets#[serial_test::serial(stinger)]. Each binary ran up to 12 tests at once, each with its own vision mixer and decoders, on a 3-core runner. The tests measure frame-exact timing in real time, so they need the machine to themselves.common/stinger.rs,stinger_bench.rs) and the remux ina_clip_that_cannot_seek_plays_on_every_takeput the file path inside aparse::launchstring. A Windows path's backslashes are read there as escapes.locationis now set as a property after the launch.Rejected: loosening the frame-exact assertions. They are what the feature promises.
Evidence
Tests
Ran on macOS arm64:
cargo test --test stinger_test --test stinger_api_test --test stinger_clip_test --test stinger_prores_test. Results: 12, 9, 4 and 3 passed, withwrite_examples_for_inspectionignored.cargo clippy --all-targetsis clean.Not run: Windows and Linux locally.
ci:macosandci:windowsare set.For the reviewer
a_cue_loads_a_parked_clip_rewritten_on_diskandreload_picks_up_a_clip_rewritten_on_diskwill probably still fail on Windows. They rename a new file over a clip that the parked player holds open, and Windows refuses that. This is real product behaviour on Windows, not a test fault: an operator cannot replace a parked clip there either. It needs a decision on whether the player should release the file while parked. Not done in this PR.🤖 Generated with Claude Code