tail(test): Attempt to fix flaky tail pipe test by increasing byte count - #13701
Draft
Xylphy wants to merge 1 commit into
Draft
tail(test): Attempt to fix flaky tail pipe test by increasing byte count#13701Xylphy wants to merge 1 commit into
Xylphy wants to merge 1 commit into
Conversation
Try 10,000,000 bytes instead of 100,000 to ensure the pipe always fills up and the write fails immediately when stdout is closed. This is an experiment to see if it fixes uutils#13569.
Xylphy
marked this pull request as draft
August 1, 2026 18:09
Merging this PR will improve performance by 3.02%
Performance Changes
Tip Curious why this is faster? Comment Comparing Footnotes
|
|
GNU testsuite comparison: |
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.
This is an experiment to check if a larger byte count fixes the flaky test.
The test
test_when_output_closed_then_no_broken_piesometimes passes and sometimes fails because the pipe buffer size can hold the entire output before the parent closes stdout. That leads to a deferred flush error instead of an immediate write error, andfails_silently()sees output on stderr.By increasing the argument from
100000to10000000(10 MB), the pipe buffer will always fill up, forcing the error to occur during an activewrite()call where it can be silently suppressed.Just testing if this works, if CI stays green / this test succeeds multiple times.