Allow decoder verification output during decodeLast - #3683
Open
Dave861 wants to merge 1 commit into
Open
Conversation
Motivation: ByteToMessageDecoderVerifier checks expected output before closing the channel, so decoders that emit valid final output from decodeLast are incorrectly reported as under-producing. Modifications: Give each verification strategy an independent decoder and channel. Defer the under-production decision until after finishing, then compare output emitted during decodeLast while preserving existing diagnostics. Add regression coverage using NIOSplitUTF8LinesMessageDecoder. Result: The verifier accepts valid final output emitted during decodeLast.
Dave861
marked this pull request as ready for review
July 28, 2026 11:45
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.
Motivation
ByteToMessageDecoderVerifierreports under-production before allowing a decoder to emit its final buffered output fromdecodeLast.Modifications
decodeLastto satisfy remaining expectations.NIOSplitUTF8LinesMessageDecoder.Result
Decoders that correctly emit a final value from
decodeLastnow pass verification.Fixes #3414
Testing
swift test --filter ByteToMessageDecoderVerifierTestswift format lint --strict --configuration .swift-formaton both changed filesswift test— 2,458 XCTest tests and 276 Swift Testing tests passed