Sort the probe lines before comparing stderr - #23
Merged
Merged
Conversation
The probe runs the servers concurrently and prints each one's lines as it finishes, so its order crosses the Go client's, causing the comparison to report a line printed by both clients as a difference on both sides. Only that block is sorted: a reordered measurement or usage error still fails.
BKPepe
force-pushed
the
test/parity-common-lines
branch
from
September 28, 2026 07:40
3531c0d to
4540272
Compare
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.
The parity case
debug_autoselectfails on master from time to time, with aline both clients printed reported as a difference on both sides — for
example in run 36305132931 on d0decf9:
The probe runs the servers concurrently and prints each one's lines as it
finishes, where the Go client goes through the list in order. The comparison
is an LCS diff, so where the two orders cross it keeps only one of the
crossing lines and the other lands on both sides.
Sorting that block leaves exactly one line per side on real captures, which
is what the case declares. From the measurement's first line on, nothing
changes, so a reordered report or usage error still fails.