bufio — validation proof
Go’s own bufio test suite, converted to C# by go2cs, built against the converted standard
library, run under the Go-semantics test host, and compared verdict for verdict against a clean
go test -json baseline of the same sources. This page is generated by the converter from that
comparison — it is the evidence behind the bufio row in
Validated Test Packages.
Validated 2026-08-04 · converter f6e9c0cf0
80 matched · 1 disclosed — Go 1.23.1, windows/amd64, converted package
src/core/bufio.
Verdicts
| Test | go test |
go2cs |
|---|---|---|
TestBadReader |
pass | pass |
TestBlankLines |
pass | pass |
TestBufferFull |
pass | pass |
TestDontLoopForever |
pass | pass |
TestEmptyLinesOK |
pass | pass |
TestEmptyTokens |
pass | pass |
TestErrAtEOF |
pass | pass |
TestHugeBuffer |
pass | pass |
TestLargeReader |
pass | pass |
TestLineTooLong |
pass | pass |
TestLinesAfterRead |
pass | pass |
TestNegativeEOFReader |
pass | pass |
TestNegativeRead |
pass | pass |
TestNewReaderSizeIdempotent |
pass | pass |
TestNewWriterSizeIdempotent |
pass | pass |
TestNoUnreadByteAfterDiscard |
pass | pass |
TestNoUnreadByteAfterPeek |
pass | pass |
TestNoUnreadByteAfterWriteTo |
pass | pass |
TestNoUnreadRuneAfterDiscard |
pass | pass |
TestNoUnreadRuneAfterPeek |
pass | pass |
TestNoUnreadRuneAfterWriteTo |
pass | pass |
TestNonEOFWithEmptyRead |
pass | pass |
TestPartialReadEOF |
pass | pass |
TestPeek |
pass | pass |
TestPeekThenUnreadRune |
pass | pass |
TestReadAfterLines |
pass | pass |
TestReadEmptyBuffer |
pass | pass |
TestReadLine |
pass | pass |
TestReadLineNewlines |
pass | pass |
TestReadLineNonNilLineOrError |
pass | pass |
TestReadRune |
pass | pass |
TestReadStringAllocs |
pass | fail (disclosed) |
TestReadWriteRune |
pass | pass |
TestReadZero |
pass | pass |
TestReadZero/bufsize=100 |
pass | pass |
TestReadZero/bufsize=2 |
pass | pass |
TestReader |
pass | pass |
TestReaderClearError |
pass | pass |
TestReaderDiscard |
pass | pass |
TestReaderReset |
pass | pass |
TestReaderSimple |
pass | pass |
TestReaderSize |
pass | pass |
TestReaderWriteTo |
pass | pass |
TestReaderWriteToErrors |
pass | pass |
TestScanByte |
pass | pass |
TestScanLineEmptyFinalLine |
pass | pass |
TestScanLineEmptyFinalLineWithCR |
pass | pass |
TestScanLineNoNewline |
pass | pass |
TestScanLineReturnButNoNewline |
pass | pass |
TestScanLineTooLong |
pass | pass |
TestScanLongLines |
pass | pass |
TestScanRune |
pass | pass |
TestScanWords |
pass | pass |
TestScanWordsExcessiveWhiteSpace |
pass | pass |
TestSpace |
pass | pass |
TestSplitError |
pass | pass |
TestUnreadByte |
pass | pass |
TestUnreadByteMultiple |
pass | pass |
TestUnreadByteOthers |
pass | pass |
TestUnreadRune |
pass | pass |
TestUnreadRuneAtEOF |
pass | pass |
TestUnreadRuneError |
pass | pass |
TestWithNoEmptyTokens |
pass | pass |
TestWriteErrors |
pass | pass |
TestWriteInvalidRune |
pass | pass |
TestWriteString |
pass | pass |
TestWriteStringStringWriter |
pass | pass |
TestWriter |
pass | pass |
TestWriterAppend |
pass | pass |
TestWriterReadFrom |
pass | pass |
TestWriterReadFromCounts |
pass | pass |
TestWriterReadFromErrNoProgress |
pass | pass |
TestWriterReadFromErrors |
pass | pass |
TestWriterReadFromMustReturnUnderlyingError |
pass | pass |
TestWriterReadFromMustSetUnderlyingError |
pass | pass |
TestWriterReadFromUntilEOF |
pass | pass |
TestWriterReadFromWhileFull |
pass | pass |
TestWriterReadFromWithBufferedData |
pass | pass |
TestWriterReset |
pass | pass |
TestWriterSize |
pass | pass |
TestZeroReader |
pass | pass |
Disclosed divergences
A disclosed divergence is a specific Go assertion the managed CLR provably cannot satisfy — not
a skipped test and not a tolerance. Each one is pinned by exact failure signature in the package’s
hand-owned go2cs_test_disclosures.json;
a disclosed test that fails any other way is still a hard mismatch.
| Test | Class | Pinned reason |
|---|---|---|
TestReadStringAllocs |
alloc-profile |
at-most-one AllocsPerRun assert: ReadString returns a Go string built over the reader’s buffered bytes, which in the managed model materializes a fresh byte[] for the @string plus the collectSlices/append working state — Go’s single allocation is the string body alone, produced by a runtime concatenation the CLR has no equivalent for |
Excluded declarations
Declarations filtered from both sides of the comparison, and therefore not claimed above:
Benchmark, Fuzz and Example declarations the converted host does not execute, plus any
test requiring a capability the managed runtime does not provide — a testing member the host
has not implemented, or a platform behavior it provably cannot reproduce. Each is named with
the capability it needs.
- BenchmarkReaderCopyNoWriteTo (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkReaderCopyOptimal (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkReaderCopyUnoptimal (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkReaderEmpty (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkReaderReadString (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkReaderWriteToOptimal (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriterCopyNoReadFrom (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriterCopyOptimal (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriterCopyUnoptimal (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriterEmpty (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriterFlush (benchmark): benchmark execution is deferred to Phase 4D
- ExampleScanner_Bytes (example): example execution is deferred to Phase 4D
- ExampleScanner_custom (example): example execution is deferred to Phase 4D
- ExampleScanner_earlyStop (example): example execution is deferred to Phase 4D
- ExampleScanner_emptyFinalToken (example): example execution is deferred to Phase 4D
- ExampleScanner_lines (example): example execution is deferred to Phase 4D
- ExampleScanner_words (example): example execution is deferred to Phase 4D
- ExampleWriter (example): example execution is deferred to Phase 4D
- ExampleWriter_AvailableBuffer (example): example execution is deferred to Phase 4D