Conformance · measured, not claimed
How much Go actually runs.
The Go team's own compiler test suite ($GOROOT/test), run through the kavak Go frontend unmodified. Each test's own directive on line 1 decides how it is judged.
21.5%434 of 2,016 in-scope files
- Authority
/opt/homebrew/Cellar/go/1.25.6/libexec/test- Arbiter
- go version go1.25.6 darwin/arm64
- Unit
- file
- Measured
- 2026-08-02 17:01
- Raw data
- raw measurement (JSON)
breakdown
Breakdown by suite directive
| suite directive | tests | passing | not yet | wrong | out of scope | pass rate | split |
|---|---|---|---|---|---|---|---|
| run | 1,026 | 23 | 992 | 0 | 11 | 2.3% | |
| errorcheck | 662 | 101 | 456 | 0 | 105 | 18.1% | |
| (none) | 657 | 0 | 0 | 0 | 657 | — | |
| compile | 501 | 310 | 134 | 0 | 57 | 69.8% | |
| compiledir | 124 | 0 | 0 | 0 | 124 | — | |
| rundir | 116 | 0 | 0 | 0 | 116 | — | |
| asmcheck | 71 | 0 | 0 | 0 | 71 | — | |
| build | 33 | 0 | 0 | 0 | 33 | — | |
| errorcheckdir | 25 | 0 | 0 | 0 | 25 | — | |
| runoutput | 22 | 0 | 0 | 0 | 22 | — | |
| runindir | 10 | 0 | 0 | 0 | 10 | — | |
| skip | 9 | 0 | 0 | 0 | 9 | — | |
| errorcheckandrundir | 5 | 0 | 0 | 0 | 5 | — | |
| go | 5 | 0 | 0 | 0 | 5 | — | |
| errorcheckwithauto | 5 | 0 | 0 | 0 | 5 | — | |
| buildrundir | 4 | 0 | 0 | 0 | 4 | — | |
| errorcheckoutput | 4 | 0 | 0 | 0 | 4 | — | |
| builddir | 3 | 0 | 0 | 0 | 3 | — | |
| buildrun | 2 | 0 | 0 | 0 | 2 | — |
blockers
What blocks the rest
The ten most expensive blockers. Next to each is how many files it costs — one compiler gap can stop a whole file, so the cost is what matters, not the count of distinct errors.
| cost | reason — the measurement's own words | blamed |
|---|---|---|
| 242 | frontend/sema: undefined symbol | uintptrint64byteuint64 |
| 152 | frontend/parse: expected '…' | {)] |
| 107 | codegen: unknown callable '…' | panicprintlnnewprint |
| 102 | no diagnostic for a rule in: other language rules | cannot|invalidtypeinvalidbyte |
| 79 | codegen: unsupported call target | — |
| 46 | no diagnostic for a rule in: initialization cycles | initialization cycle|depends upon itselfinitialization cycle: x refers to itselfinvalid recursive type: anonymous interface refers to itselfinvalid recursive type: T refers to itself |
| 42 | frontend/parse: expected expression | interfaceidonefalse |
| 42 | codegen: package initializer for '…' is not a supported constant expression | a_xc |
| 41 | no diagnostic for a rule in: assignability & type mismatch | cannot use|incompatiblecannot use promoted field t1.t1f1 in struct literal of type t2|unknown fieldillegal types|incompatible|cannotinvalid operation|incompatible |
| 37 | codegen: package variable '…' needs a non-i32 global representation | xsta |
A further 692 files are blocked by smaller causes; the full list is in the raw measurement (JSON).