Validated Test Packages

The packages below have had their own Go test suites (Go 1.23.1) converted to C#, built against the converted standard library, run under the Go-semantics test host, and differentially compared against a clean go test -json baseline — verdict for verdict. A package is listed only when every Test function’s result matches go test (Example/Benchmark execution is uniformly deferred). See Try it yourself to reproduce any row from a clone with one command.

A few packages carry disclosed divergences: Go tests that assert an exact allocation count, which the managed CLR provably cannot satisfy (Go’s compiler stack-allocates where .NET must heap- allocate). Each is pinned by exact failure signature in a hand-owned, committed go2cs_test_disclosures.json — any other failure is still a hard mismatch.

Phase 4 progress: 43 / 215 testable packages validated — 20.0%

1,078 matching test verdicts · 21 disclosed (updated 2026-07-25 — maintained as part of the Phase-4 validation campaign and grows as packages validate. Denominator: the 215 of 302 converted standard-library packages whose Go 1.23.1 sources define Test functions.)

Package Tests Disclosed What it exercises
bytes 81 7 Byte-slice algorithms; alloc-profile disclosures.
cmp 4   Generics with an ordered-type constraint.
container/heap 7   Heap interface over a slice.
container/list 10   Doubly-linked list — pointers and receiver methods.
container/ring 8   Circular linked list — a pointer graph.
encoding/ascii85 9   Ascii85 encode/decode and streaming wrappers.
encoding/base32 26   Base32 round-trips; io.Pipe rendezvous over the real channel core.
encoding/base64 17   Base64 round-trips; goroutine + time.After timer path.
encoding/binary 137 9 Reflection-driven Read/Write — the bridge’s construction/write-back surface.
encoding/csv 71   CSV parsing; wrapped-error errors.Is through the reflection bridge.
encoding/hex 12   Hex encode/decode and error paths.
encoding/pem 8   PEM block parsing and round-trips.
errors 61   errors.Is/As/Join — reflection-bridge write-back (Value.Set, addressability).
go/build/constraint 89   Build-constraint expression parsing.
go/version 3   Go version-string comparison.
hash/adler32 2   Adler-32 checksum.
hash/crc32 10   CRC-32 including real SSE4.2/PCLMULQDQ hardware paths via managed intrinsics.
hash/crc64 5   CRC-64 checksum tables.
hash/fnv 19   FNV-1/FNV-1a across widths.
internal/abi 2   Runtime ABI helpers (FuncPC).
internal/coverage/slicereader 1   Coverage slice reader.
internal/coverage/slicewriter 1   Coverage slice writer.
internal/gover 5   Toolchain version ordering.
internal/itoa 3   Minimal integer formatting.
internal/saferio 17   Allocation-capped I/O helpers.
io/fs 18   The fs.FS interface family — named-interface runtime shells, fs.Glob deep recursion, dirFS walks.
maps 14   Generic map helpers and iterators.
math 76   The core numeric package — IEEE edge cases, rounding, Inf/NaN.
math/bits 26   Bit-manipulation intrinsics.
math/cmplx 24   complex128 transcendental math.
math/rand 43   PRNG streams, including a child-process race test.
math/rand/v2 36   The v2 PRNG API (PCG, ChaCha8).
net/http/internal/ascii 13   ASCII case-insensitive helpers.
os/signal 1   Console-signal delivery (Ctrl+Break) through real channels and select.
path 9   Pure path manipulation (Clean/Split/Join/Match…).
sort 63   Interface-driven sort, sort.Slice reflection swaps, NaN-aware ordering, stability.
strings 68 4 String algorithms; alloc-count/alloc-profile disclosures.
testing/quick 8   Property testing — reflect value generation and Value.Call dynamic invocation.
text/scanner 18   Rune-level source scanning.
text/tabwriter 3   Elastic-tab column formatting; panic-during-write recovery.
unicode 28   Category tables, case mapping (SpecialCase), script ranges.
unicode/utf16 8 1 Encode/decode round-trips via reflect.DeepEqual.
unicode/utf8 14   UTF-8 encode/decode — the first suite to pass (2026-07-17).