bytes — validation proof
Go’s own bytes 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 bytes row in
Validated Test Packages.
Validated 2026-08-04 · converter 34f593bf3
82 matched · 6 disclosed — Go 1.23.1, windows/amd64, converted package
src/core/bytes.
Verdicts
| Test | go test |
go2cs |
|---|---|---|
TestBasicOperations |
pass | pass |
TestBufferGrowNegative |
pass | pass |
TestBufferGrowth |
pass | pass |
TestBufferTruncateNegative |
pass | pass |
TestBufferTruncateOutOfRange |
pass | pass |
TestCapWithPreallocatedSlice |
pass | pass |
TestCapWithSliceAndWrittenData |
pass | pass |
TestClone |
pass | pass |
TestCompare |
pass | pass |
TestCompareBytes |
pass | pass |
TestCompareIdenticalSlice |
pass | pass |
TestContains |
pass | pass |
TestContainsAny |
pass | pass |
TestContainsFunc |
pass | pass |
TestContainsRune |
pass | pass |
TestCountByte |
pass | pass |
TestCountByteNoMatch |
pass | pass |
TestCut |
pass | pass |
TestCutPrefix |
pass | pass |
TestCutSuffix |
pass | pass |
TestEmptyReaderConcurrent |
pass | pass |
TestEndianBaseCompare |
pass | pass |
TestEqual |
pass | pass |
TestEqualExhaustive |
pass | pass |
TestEqualFold |
pass | pass |
TestFields |
pass | pass |
TestFieldsFunc |
pass | pass |
TestGrow |
pass | fail (disclosed) |
TestGrowOverflow |
pass | pass |
TestIndex |
pass | fail (disclosed) |
TestIndexAny |
pass | pass |
TestIndexByte |
pass | pass |
TestIndexByteBig |
pass | pass |
TestIndexByteSmall |
pass | pass |
TestIndexFunc |
pass | pass |
TestIndexRune |
pass | fail (disclosed) |
TestLargeByteReads |
pass | pass |
TestLargeByteWrites |
pass | pass |
TestLargeStringReads |
pass | pass |
TestLargeStringWrites |
pass | pass |
TestLastIndex |
pass | fail (disclosed) |
TestLastIndexAny |
pass | pass |
TestLastIndexByte |
pass | pass |
TestMap |
pass | pass |
TestMixedReadsAndWrites |
pass | pass |
TestNewBuffer |
pass | pass |
TestNewBufferShallow |
pass | fail (disclosed) |
TestNewBufferString |
pass | pass |
TestNext |
pass | pass |
TestNil |
pass | pass |
TestNotEqual |
pass | pass |
TestReadAfterBigSeek |
pass | pass |
TestReadBytes |
pass | pass |
TestReadEmptyAtEOF |
pass | pass |
TestReadFrom |
pass | pass |
TestReadFromNegativeReader |
pass | pass |
TestReadFromPanicReader |
pass | pass |
TestReadString |
pass | pass |
TestReader |
pass | pass |
TestReaderAt |
pass | pass |
TestReaderAtConcurrent |
pass | pass |
TestReaderCopyNothing |
pass | pass |
TestReaderDoubleUnreadRune |
pass | pass |
TestReaderLen |
pass | pass |
TestReaderLenSize |
pass | pass |
TestReaderReset |
pass | pass |
TestReaderWriteTo |
pass | pass |
TestReaderZero |
pass | pass |
TestRepeat |
pass | pass |
TestRepeatCatchesOverflow |
pass | pass |
TestReplace |
pass | pass |
TestRuneIO |
pass | pass |
TestRunes |
pass | pass |
TestSplit |
pass | pass |
TestSplitAfter |
pass | pass |
TestTitle |
pass | pass |
TestToLower |
pass | pass |
TestToTitle |
pass | pass |
TestToUpper |
pass | pass |
TestToValidUTF8 |
pass | pass |
TestTrim |
pass | pass |
TestTrimFunc |
pass | pass |
TestTrimSpace |
pass | pass |
TestUnreadByte |
pass | pass |
TestUnreadRuneError |
pass | pass |
TestWriteAppend |
pass | fail (disclosed) |
TestWriteInvalidRune |
pass | pass |
TestWriteTo |
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 |
|---|---|---|
TestGrow |
alloc-profile |
want-zero AllocsPerRun assert: the converted Buffer.Grow/Write path allocates in the managed slice model where Go’s pre-grown buffer writes allocation-free |
TestIndex |
alloc-profile |
want-zero AllocsPerRun assert: the converted Index search allocates in the managed runtime where Go’s compiler stack-allocates its working state |
TestIndexRune |
alloc-profile |
want-zero AllocsPerRun assert: string(r) materializes a byte[] in the managed model where Go uses a 4-byte stack buffer (runtime.intstring) |
TestLastIndex |
alloc-profile |
want-zero AllocsPerRun assert: the converted LastIndex search allocates in the managed runtime where Go’s compiler stack-allocates its working state |
TestNewBufferShallow |
alloc-profile |
want-zero AllocsPerRun assert: the addressed Buffer copy heap-boxes per run in the managed model (ref var through the heap) where Go’s escape analysis keeps the shallow copy on the stack |
TestWriteAppend |
alloc-profile |
want-zero AllocsPerRun assert: the converted AvailableBuffer/AppendInt/Write loop allocates in the managed slice model where Go’s sufficiently-sized buffer appends allocation-free |
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.
- BenchmarkBufferAppendNoCopy (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBufferFullSmallReads (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBufferNotEmptyWriteRead (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBufferWriteBlock (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkBytesCompare (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesBig (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesBigBothUnaligned (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesBigIdentical (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesBigUnaligned (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesDifferentLength (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesEmpty (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesEqual (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesIdentical (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesSameLength (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCompareBytesToNil (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCount (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCountEasy (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCountHard1 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCountHard2 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCountHard3 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkCountSingle (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkEqual (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkEqualBothUnaligned (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFields (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkFieldsFunc (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndex (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexAnyASCII (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexAnyUTF8 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexByte (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexBytePortable (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexEasy (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexHard1 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexHard2 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexHard3 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexHard4 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexPeriodic (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexRune (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkIndexRuneASCII (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkLastIndexAnyASCII (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkLastIndexAnyUTF8 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkLastIndexHard1 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkLastIndexHard2 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkLastIndexHard3 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkReadString (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkRepeat (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkRepeatLarge (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSplitEmptySeparator (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSplitMultiByteSeparator (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSplitNMultiByteSeparator (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSplitNSingleByteSeparator (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkSplitSingleByteSeparator (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkToLower (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkToUpper (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkToValidUTF8 (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkTrimASCII (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkTrimByte (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkTrimSpace (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriteByte (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkWriteRune (benchmark): benchmark execution is deferred to Phase 4D
- ExampleBuffer (example): example execution is deferred to Phase 4D
- ExampleBuffer_AvailableBuffer (example): example execution is deferred to Phase 4D
- ExampleBuffer_Bytes (example): example execution is deferred to Phase 4D
- ExampleBuffer_Cap (example): example execution is deferred to Phase 4D
- ExampleBuffer_Grow (example): example execution is deferred to Phase 4D
- ExampleBuffer_Len (example): example execution is deferred to Phase 4D
- ExampleBuffer_Next (example): example execution is deferred to Phase 4D
- ExampleBuffer_Read (example): example execution is deferred to Phase 4D
- ExampleBuffer_ReadByte (example): example execution is deferred to Phase 4D
- ExampleBuffer_reader (example): example execution is deferred to Phase 4D
- ExampleClone (example): example execution is deferred to Phase 4D
- ExampleCompare (example): example execution is deferred to Phase 4D
- ExampleCompare_search (example): example execution is deferred to Phase 4D
- ExampleContains (example): example execution is deferred to Phase 4D
- ExampleContainsAny (example): example execution is deferred to Phase 4D
- ExampleContainsFunc (example): example execution is deferred to Phase 4D
- ExampleContainsRune (example): example execution is deferred to Phase 4D
- ExampleCount (example): example execution is deferred to Phase 4D
- ExampleCut (example): example execution is deferred to Phase 4D
- ExampleCutPrefix (example): example execution is deferred to Phase 4D
- ExampleCutSuffix (example): example execution is deferred to Phase 4D
- ExampleEqual (example): example execution is deferred to Phase 4D
- ExampleEqualFold (example): example execution is deferred to Phase 4D
- ExampleFields (example): example execution is deferred to Phase 4D
- ExampleFieldsFunc (example): example execution is deferred to Phase 4D
- ExampleHasPrefix (example): example execution is deferred to Phase 4D
- ExampleHasSuffix (example): example execution is deferred to Phase 4D
- ExampleIndex (example): example execution is deferred to Phase 4D
- ExampleIndexAny (example): example execution is deferred to Phase 4D
- ExampleIndexByte (example): example execution is deferred to Phase 4D
- ExampleIndexFunc (example): example execution is deferred to Phase 4D
- ExampleIndexRune (example): example execution is deferred to Phase 4D
- ExampleJoin (example): example execution is deferred to Phase 4D
- ExampleLastIndex (example): example execution is deferred to Phase 4D
- ExampleLastIndexAny (example): example execution is deferred to Phase 4D
- ExampleLastIndexByte (example): example execution is deferred to Phase 4D
- ExampleLastIndexFunc (example): example execution is deferred to Phase 4D
- ExampleMap (example): example execution is deferred to Phase 4D
- ExampleReader_Len (example): example execution is deferred to Phase 4D
- ExampleRepeat (example): example execution is deferred to Phase 4D
- ExampleReplace (example): example execution is deferred to Phase 4D
- ExampleReplaceAll (example): example execution is deferred to Phase 4D
- ExampleRunes (example): example execution is deferred to Phase 4D
- ExampleSplit (example): example execution is deferred to Phase 4D
- ExampleSplitAfter (example): example execution is deferred to Phase 4D
- ExampleSplitAfterN (example): example execution is deferred to Phase 4D
- ExampleSplitN (example): example execution is deferred to Phase 4D
- ExampleTitle (example): example execution is deferred to Phase 4D
- ExampleToLower (example): example execution is deferred to Phase 4D
- ExampleToLowerSpecial (example): example execution is deferred to Phase 4D
- ExampleToTitle (example): example execution is deferred to Phase 4D
- ExampleToTitleSpecial (example): example execution is deferred to Phase 4D
- ExampleToUpper (example): example execution is deferred to Phase 4D
- ExampleToUpperSpecial (example): example execution is deferred to Phase 4D
- ExampleToValidUTF8 (example): example execution is deferred to Phase 4D
- ExampleTrim (example): example execution is deferred to Phase 4D
- ExampleTrimFunc (example): example execution is deferred to Phase 4D
- ExampleTrimLeft (example): example execution is deferred to Phase 4D
- ExampleTrimLeftFunc (example): example execution is deferred to Phase 4D
- ExampleTrimPrefix (example): example execution is deferred to Phase 4D
- ExampleTrimRight (example): example execution is deferred to Phase 4D
- ExampleTrimRightFunc (example): example execution is deferred to Phase 4D
- ExampleTrimSpace (example): example execution is deferred to Phase 4D
- ExampleTrimSuffix (example): example execution is deferred to Phase 4D