Repository navigation
test: fix main-red tests on macOS and Windows (glupload format, partial file size, filesrc paths) - #1050
Merged
Conversation
Two tests that keep main red on macOS and Windows: - vision_mixer_input_format_cuda_test read glupload's sink caps once, right after the adapters changed. The CAPS event can still be on its way, and PGM is already white from frames before the switch, so the check saw A444_16LE instead of NV12. Poll for the format with a deadline instead, here and in vision_mixer_input_format_test. - media_download_test read the partial file's size with DirEntry::metadata, which on Windows is the directory listing's size. NTFS does not update it while the writer holds the file open, so the test never saw the first half. Use std::fs::metadata. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
live_recorder_test put the recorded file's path inside a parse::launch string, where a Windows path's backslashes are read as escapes, so 13 tests failed to start their read-back pipeline on Windows. Set `location` as a property, and do the same in the stinger examples' PNG writer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 9, 2026
Closed
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 #1033, #1043, #1034
Problem
Main is red on macOS and Windows on two tests:
cuda_after_a_converted_format_bypasses_the_converter(from fix(vision mixer): adapt GPU inputs to any pixel format, converting only while needed #1033):left: Some("A444_16LE") right: Some("NV12")atvision_mixer_input_format_cuda_test.rs:359. Flaky: the next main run passed it.partial_download_never_appears_under_the_final_name(from feat(media): download a file from a URL, and stream uploads with progress #1043):the first half never reached the disk: Elapsed(()).Both are test races, not product bugs. A third failure surfaced on this PR's own run: 13
live_recorder_testtests (from #1034) fail on Windows withStateChangeError.Change
wait_for_upload_format, polls with a 15 s deadline.vision_mixer_input_format_test.rshad the same one-shot check, so it uses the helper too.DirEntry::metadata(). On Windows that is the size in the directory listing, which NTFS does not update while the writer holds the file open.std::fs::metadata(path)opens the file and returns its real size.The guards stay intact: if the converter were never bypassed, glupload would never get NV12, and the wait would time out and fail.
live_recorder_testput the recorded file's path in aparse::launchstring (filesrc location="C:\..."). The parser reads backslashes there as escapes, so the read-back pipeline fails to start.locationis now set as a property. The same fix is applied to the PNG writer in the stinger examples' unit test. The stinger tests have the same bug; test(stinger): run the stinger tests one at a time, and pass file paths as properties #1051 fixes those.Evidence
A444_16LE. Run 37758507367 passed the same test with the same code.partial_download_never_appears_under_the_final_nameon Windows, andcuda_after_a_converted_format_bypasses_the_converteron macOS.Tests
Ran on macOS (arm64), in the worktree:
cargo test --test media_download_test --test vision_mixer_input_format_test --test vision_mixer_input_format_cuda_test. Results: 15/15, 14/14, and 1 passed. Also rancargo test --test live_recorder_test(18/18) andcargo test --lib stinger::examples(6 passed, 1 ignored).cargo fmt --checkandcargo clippy --all-targetsare clean.Skipped:
nvdec_cuda_after_a_converted_format_stays_on_the_gpu(needs an NVIDIA GPU).Not run locally: Windows.
ci:windowsandci:macosare set so both runners execute these tests.Out of scope
The stinger tests from #1010 also fail on main, on Linux, macOS and Windows: frame counts, "stinger never ready", and
Access is deniedwhen a clip is rewritten on Windows. #1051 handles those. One more:gpu_converter_comes_out_when_the_format_switches_backfailed once on this PR's Linux run, with the pipeline stuck going from Paused to Playing. It passed on the macOS and Windows runners and locally, so it looks like the known GL-runner flake. Not chased here.🤖 Generated with Claude Code