testing — validation proof

Go’s own testing 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 testing row in Validated Test Packages.

Validated 2026-09-04 · converter 69e6cebb7

37 matched · 15 disclosed — Go 1.23.12, windows/amd64, converted package src/core/testing.

Measured at Release (tiered JIT off), oracle go version go1.23.12 windows/amd64.

Verdicts

Test go test go2cs
TestAllocsPerRun pass fail (disclosed)
TestCallRunInCleanupHelper pass pass
TestConcurrentRun pass pass
TestConcurrentRun/#00 pass pass
TestConcurrentRun/#01 pass pass
TestFlag pass pass
TestFlag/#00 pass pass
TestFlag/-test.v pass pass
TestFlag/-test.v=test2json pass pass
TestGoexitInCleanupAfterPanicHelper pass pass
TestMorePanic pass fail (disclosed)
TestPanic pass fail (disclosed)
TestPanic/parallel_subtest_panics_with_cleanup pass fail (disclosed)
TestPanic/parallel_subtest_panics_with_inner_cleanup_panic pass fail (disclosed)
TestPanic/parallel_subtest_panics_with_middle_cleanup_panic pass fail (disclosed)
TestPanic/parallel_subtest_panics_with_outer_cleanup_panic pass fail (disclosed)
TestPanic/root_test_panics pass fail (disclosed)
TestPanic/subtest_panics pass fail (disclosed)
TestPanic/subtest_panics_with_cleanup pass fail (disclosed)
TestPanic/subtest_panics_with_inner_cleanup_panic pass fail (disclosed)
TestPanic/subtest_panics_with_middle_cleanup_panic pass fail (disclosed)
TestPanic/subtest_panics_with_outer_cleanup_panic pass fail (disclosed)
TestPanicHelper pass pass
TestParentRun pass pass
TestParentRun/not_inner pass pass
TestParentRun/outer pass pass
TestSetenv pass pass
TestSetenv/initial_value_exists pass pass
TestSetenv/initial_value_exists_but_empty pass pass
TestSetenv/initial_value_is_not_exists pass pass
TestSetenvWithParallelAfterSetenv pass pass
TestSetenvWithParallelBeforeSetenv pass pass
TestSetenvWithParallelGrandParentBeforeSetenv pass pass
TestSetenvWithParallelGrandParentBeforeSetenv/child pass pass
TestSetenvWithParallelGrandParentBeforeSetenv/child/grand-child pass pass
TestSetenvWithParallelParentBeforeSetenv pass pass
TestSetenvWithParallelParentBeforeSetenv/child pass pass
TestTBHelper pass fail (disclosed)
TestTBHelperParallel pass fail (disclosed)
TestTempDir pass pass
TestTempDir/../test pass pass
TestTempDir/InSubtest pass pass
TestTempDir/test* pass pass
TestTempDir/test/.. pass pass
TestTempDir/test/subtest pass pass
TestTempDir/test:subtest pass pass
TestTempDir/test[] pass pass
TestTempDir/test\subtest pass pass
TestTempDir/äöüéè pass pass
TestTempDirInCleanup pass pass
TestTempDirInCleanup/test pass pass
TestTesting 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
TestAllocsPerRun alloc-count-semantics exact-count AllocsPerRun asserts (want 1 for each of five new(T) closures). The managed shim is deliberately byte-derived - the CLR has no malloc counter - so it reports go2cs-runtime object allocations and returns 2 where Go returns 1. This package is the SUBJECT of the standing alloc-count-semantics class rather than another instance of it. Retires if the CLR ever exposes a per-allocation counter the shim can key on.
TestMorePanic host-identity re-execs the binary and matches the child’s panic/Goexit report against Go’s text. The host classifies a runtime.Goexit escaping a cleanup after a panic as an INFRASTRUCTURE-ERROR row in its own vocabulary, where Go prints its panic layout. Same channel, same ruling. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic aggregate no failure text of its own — the roll-up of this test’s disclosed subtests
TestPanic/parallel_subtest_panics_with_cleanup host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/parallel_subtest_panics_with_inner_cleanup_panic host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/parallel_subtest_panics_with_middle_cleanup_panic host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/parallel_subtest_panics_with_outer_cleanup_panic host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/root_test_panics host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/subtest_panics host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/subtest_panics_with_cleanup host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/subtest_panics_with_inner_cleanup_panic host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/subtest_panics_with_middle_cleanup_panic host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestPanic/subtest_panics_with_outer_cleanup_panic host-identity re-execs the test binary and regexes the CHILD’s terminal text against Go’s verbose layout (--- FAIL: <name> with indented file.go:NN: msg lines). The hand-owned Phase-4 host is a structural replacement for Go’s testing package, not a conversion of it, and its reporter writes "{ACTION,-20} {Test} - {Output}" - it emits no --- FAIL:, no === RUN and no indented file:line log block anywhere. The divergence is the ONE-testing-package design being observed through its own output channel. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestTBHelper host-identity re-execs the test binary and requires the child’s output to match a regex naming Go’s own SOURCE POSITIONS (helperfuncs_test.go:15: 0) inside Go’s --- FAIL: layout. The host reports its own positions and its own layout, and t.Helper’s whole purpose - attributing a log line to the CALLER - is asserted here through that text. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.
TestTBHelperParallel host-identity counts the LINES of the re-exec’d child’s output and requires exactly 7 in Go’s verbose layout (one --- FAIL, five parallel log lines, a final FAIL). The host’s reporter produces 6 lines of its own form. The pinned count is the captured signature: a different count is a different failure and must go red. Retires only if the host is made to impersonate Go’s testing-package terminal output, which the standing host-identity ruling (2026-08-26) forecloses: the host never claims testing/testing.go.

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.

Gated by a host capability

A gate names a declaration the converted test host provably cannot run at all — not an assertion it fails. It is filtered from both sides of the comparison, and because the gate keys on the DECLARATION, every verdict row go test reports underneath it is withdrawn with it. None of the rows below is claimed by the matched count above; they are named here so this page states exactly what the row leaves out.

TestBRun — B.Cleanup, B.Error, B.Fail, B.Failed, B.Fatalf, B.ReportAllocs, B.ResetTimer, B.Run, B.SetBytes, B.Skip, B.SkipNow, B.StartTimer, B.StopTimer, B.add, B.benchFunc, B.benchTime, B.bytes, B.chatty, B.checkRaces, B.common, B.context, B.doBench, B.duration, B.extra, B.failed, B.finished, B.hasSub, B.importPath, B.launch, B.level, B.missingBytes, B.mu, B.name, B.netAllocs, B.netBytes, B.output, B.parallelism, B.previousDuration, B.previousN, B.resetRaces, B.result, B.run, B.run1, B.runCleanup, B.runN, B.showAllocResult, B.signal, B.skipped, B.start, B.startAllocs, B.startBytes, B.timerOn, B.trimOutput, B.w, BenchmarkResult.AllocedBytesPerOp, BenchmarkResult.AllocsPerOp, BenchmarkResult.Bytes, BenchmarkResult.Extra, BenchmarkResult.MemAllocs, BenchmarkResult.MemBytes, BenchmarkResult.MemString, BenchmarkResult.N, BenchmarkResult.String, BenchmarkResult.T, BenchmarkResult.mbPerSec, T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, benchContext.extLen, benchContext.match, benchContext.maxLen, benchContext.processBench, chattyFlag.json, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.FailNow, common.SkipNow, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, durationOrCountFlag.d, durationOrCountFlag.n, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

12 verdict rows go test reports and this comparison does not claim:

TestBRun, TestBRun/bytes_set_by_all_benchmarks, TestBRun/bytes_set_by_some_benchmarks, TestBRun/chatty_with_recursion, TestBRun/cleanup_is_called, TestBRun/cleanup_is_called_on_failure, TestBRun/failure_carried_over_to_root, TestBRun/memory_allocation, TestBRun/simulate_sequential_run_of_subbenchmarks., TestBRun/skipping_after_error, TestBRun/skipping_without_message,_chatty, TestBRun/skipping_without_message,_not_chatty

TestBenchmark — B.ResetTimer, B.Run, B.StartTimer, B.StopTimer, B.add, B.benchFunc, B.benchTime, B.bytes, B.chatty, B.checkRaces, B.common, B.context, B.doBench, B.duration, B.extra, B.failed, B.finished, B.hasSub, B.importPath, B.launch, B.level, B.missingBytes, B.mu, B.name, B.netAllocs, B.netBytes, B.output, B.parallelism, B.previousDuration, B.previousN, B.resetRaces, B.result, B.run, B.run1, B.runCleanup, B.runN, B.showAllocResult, B.signal, B.skipped, B.start, B.startAllocs, B.startBytes, B.timerOn, B.trimOutput, B.w, BenchmarkResult.AllocedBytesPerOp, BenchmarkResult.AllocsPerOp, BenchmarkResult.Bytes, BenchmarkResult.Extra, BenchmarkResult.MemAllocs, BenchmarkResult.MemBytes, BenchmarkResult.MemString, BenchmarkResult.N, BenchmarkResult.String, BenchmarkResult.T, BenchmarkResult.mbPerSec, benchContext.extLen, benchContext.match, benchContext.maxLen, benchContext.processBench, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.SkipNow, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.failed, common.finished, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.runCleanup, common.runner, common.skipped, durationOrCountFlag.d, durationOrCountFlag.n, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique

1 verdict row go test reports and this comparison does not claim:

TestBenchmark

TestBenchmarkOutput — B.Error, B.ResetTimer, B.StartTimer, B.StopTimer, B.benchFunc, B.benchTime, B.bytes, B.chatty, B.checkRaces, B.context, B.doBench, B.duration, B.extra, B.failed, B.finished, B.hasSub, B.importPath, B.launch, B.mu, B.name, B.netAllocs, B.netBytes, B.output, B.parallelism, B.previousDuration, B.previousN, B.resetRaces, B.result, B.run, B.run1, B.runCleanup, B.runN, B.showAllocResult, B.signal, B.skipped, B.start, B.startAllocs, B.startBytes, B.timerOn, B.trimOutput, B.w, BenchmarkResult.AllocedBytesPerOp, BenchmarkResult.AllocsPerOp, BenchmarkResult.Bytes, BenchmarkResult.Extra, BenchmarkResult.MemAllocs, BenchmarkResult.MemBytes, BenchmarkResult.MemString, BenchmarkResult.N, BenchmarkResult.String, BenchmarkResult.T, BenchmarkResult.mbPerSec, benchContext.extLen, benchContext.maxLen, benchContext.processBench, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.runCleanup, common.runner, durationOrCountFlag.d, durationOrCountFlag.n, highPrecisionTime.now, highPrecisionTime.sub

1 verdict row go test reports and this comparison does not claim:

TestBenchmarkOutput

TestBenchmarkRace — race-detector-instrumented build: asserts a count of “race detected” in a re-exec’d child running a benchmark, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestBenchmarkRace

TestBenchmarkReadMemStatsBeforeFirstRun — B.ResetTimer, B.StartTimer, B.StopTimer, B.benchFunc, B.benchTime, B.bytes, B.chatty, B.checkRaces, B.context, B.doBench, B.duration, B.extra, B.failed, B.finished, B.hasSub, B.importPath, B.launch, B.mu, B.name, B.netAllocs, B.netBytes, B.output, B.parallelism, B.previousDuration, B.previousN, B.resetRaces, B.result, B.run, B.run1, B.runCleanup, B.runN, B.showAllocResult, B.signal, B.skipped, B.start, B.startAllocs, B.startBytes, B.timerOn, B.trimOutput, B.w, BenchmarkResult.AllocedBytesPerOp, BenchmarkResult.AllocsPerOp, BenchmarkResult.Bytes, BenchmarkResult.Extra, BenchmarkResult.MemAllocs, BenchmarkResult.MemBytes, BenchmarkResult.MemString, BenchmarkResult.N, BenchmarkResult.String, BenchmarkResult.T, BenchmarkResult.mbPerSec, benchContext.extLen, benchContext.maxLen, benchContext.processBench, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.runCleanup, common.runner, durationOrCountFlag.d, durationOrCountFlag.n, highPrecisionTime.now, highPrecisionTime.sub

1 verdict row go test reports and this comparison does not claim:

TestBenchmarkReadMemStatsBeforeFirstRun

TestBenchmarkStartsFrom1 — B.ResetTimer, B.StartTimer, B.StopTimer, B.benchFunc, B.benchTime, B.bytes, B.chatty, B.checkRaces, B.context, B.doBench, B.duration, B.extra, B.failed, B.finished, B.hasSub, B.importPath, B.launch, B.mu, B.name, B.netAllocs, B.netBytes, B.output, B.parallelism, B.previousDuration, B.previousN, B.resetRaces, B.result, B.run, B.run1, B.runCleanup, B.runN, B.showAllocResult, B.signal, B.skipped, B.start, B.startAllocs, B.startBytes, B.timerOn, B.trimOutput, B.w, BenchmarkResult.AllocedBytesPerOp, BenchmarkResult.AllocsPerOp, BenchmarkResult.Bytes, BenchmarkResult.Extra, BenchmarkResult.MemAllocs, BenchmarkResult.MemBytes, BenchmarkResult.MemString, BenchmarkResult.N, BenchmarkResult.String, BenchmarkResult.T, BenchmarkResult.mbPerSec, benchContext.extLen, benchContext.maxLen, benchContext.processBench, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.runCleanup, common.runner, durationOrCountFlag.d, durationOrCountFlag.n, highPrecisionTime.now, highPrecisionTime.sub

1 verdict row go test reports and this comparison does not claim:

TestBenchmarkStartsFrom1

TestBenchmarkSubRace — race-detector-instrumented build: asserts a count of “race detected” in a re-exec’d child running a benchmark, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestBenchmarkSubRace

TestCleanup — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

2 verdict rows go test reports and this comparison does not claim:

TestCleanup, TestCleanup/test

TestCleanupCalledEvenAfterGoexit — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

2 verdict rows go test reports and this comparison does not claim:

TestCleanupCalledEvenAfterGoexit, TestCleanupCalledEvenAfterGoexit/test

TestCleanupParallelSubtests — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isEnvSet, T.isParallel, T.lastRaceErrors, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.barrier, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.sub, common.w, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

3 verdict rows go test reports and this comparison does not claim:

TestCleanupParallelSubtests, TestCleanupParallelSubtests/test, TestCleanupParallelSubtests/test/x

TestConcurrentCleanup — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

2 verdict rows go test reports and this comparison does not claim:

TestConcurrentCleanup, TestConcurrentCleanup/test

TestDeepSubtestRace — race-detector-instrumented build: asserts a count of “race detected” in a re-exec’d child, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestDeepSubtestRace

TestIsSpace — chattyPrinter.Printf, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.cleanupName, common.cleanupPc, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.runner

1 verdict row go test reports and this comparison does not claim:

TestIsSpace

TestLogAfterComplete — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, filterMatch.verify, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

1 verdict row go test reports and this comparison does not claim:

TestLogAfterComplete

TestMatcher — chattyPrinter.Printf, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.cleanupName, common.cleanupPc, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.runner, filterMatch.matches, filterMatch.verify, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique

1 verdict row go test reports and this comparison does not claim:

TestMatcher

TestNaming — chattyPrinter.Printf, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.cleanupName, common.cleanupPc, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.runner, filterMatch.matches, filterMatch.verify, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique

1 verdict row go test reports and this comparison does not claim:

TestNaming

TestNestedCleanup — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

2 verdict rows go test reports and this comparison does not claim:

TestNestedCleanup, TestNestedCleanup/test

TestRaceBeforeParallel — race-detector-instrumented build: asserts a count of “race detected” in a re-exec’d child, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceBeforeParallel

TestRaceBeforeTests — race-detector-instrumented build: asserts a count of “race detected” in a child run with GO_WANT_RACE_BEFORE_TESTS=1, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceBeforeTests

TestRaceDuringParallelFailsAllSubtests — race-detector-instrumented build: asserts a count of “race detected” in a re-exec’d child, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceDuringParallelFailsAllSubtests

TestRaceInCleanup — race-detector-instrumented build: asserts counts of “race detected during execution of test” and “— FAIL:” in a re-exec’d child, literals the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceInCleanup

TestRaceName — race-detector-instrumented build: asserts the verbose-run marker “=== NAME” is absent from a re-exec’d child, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceName

TestRaceReports — race-detector-instrumented build: asserts a count of “race detected” in a re-exec’d child, a literal the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceReports

TestRaceSubReports — race-detector-instrumented build: asserts counts of “race detected during execution of test” and “— FAIL:” in a re-exec’d child, literals the host’s reporter never writes

1 verdict row go test reports and this comparison does not claim:

TestRaceSubReports

TestRacyOutput — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyFlag.json, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, filterMatch.verify, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

1 verdict row go test reports and this comparison does not claim:

TestRacyOutput

TestReportMetric — B.ReportMetric, BenchmarkResult.N, BenchmarkResult.String

1 verdict row go test reports and this comparison does not claim:

TestReportMetric

TestResultString — BenchmarkResult.String, BenchmarkResult.T

1 verdict row go test reports and this comparison does not claim:

TestResultString

TestRunCleanup — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isParallel, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.w, filterMatch.matches, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

3 verdict rows go test reports and this comparison does not claim:

TestRunCleanup, TestRunCleanup/test, TestRunCleanup/test/x

TestRunParallel — B.RunParallel, B.SetParallelism, PB.Next

1 verdict row go test reports and this comparison does not claim:

TestRunParallel

TestRunParallelFail — B.Error, B.Log, B.RunParallel

1 verdict row go test reports and this comparison does not claim:

TestRunParallelFail

TestRunParallelFatal — B.Fatal, B.RunParallel, PB.Next

1 verdict row go test reports and this comparison does not claim:

TestRunParallelFatal

TestRunParallelSkipNow — B.RunParallel, B.SkipNow, PB.Next

1 verdict row go test reports and this comparison does not claim:

TestRunParallelSkipNow

TestRunningTests — Go’s -test.timeout running-tests dump: the parent retries with a doubled timeout until the child prints it and has no failure path, so a host that does not emit the dump makes the test loop forever rather than fail

1 verdict row go test reports and this comparison does not claim:

TestRunningTests

TestRunningTestsInCleanup — Go’s -test.timeout running-tests dump: the parent retries with a doubled timeout until the child prints it and has no failure path, so a host that does not emit the dump makes the test loop forever rather than fail

1 verdict row go test reports and this comparison does not claim:

TestRunningTestsInCleanup

TestSplitRegexp — chattyPrinter.Printf, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.cleanupName, common.cleanupPc, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.runner, filterMatch.verify

1 verdict row go test reports and this comparison does not claim:

TestSplitRegexp

TestTRun — T.barrier, T.chatty, T.checkRaces, T.cleanupStarted, T.common, T.context, T.done, T.duration, T.failed, T.finished, T.flushToParent, T.hasSub, T.isEnvSet, T.isParallel, T.lastRaceErrors, T.level, T.mu, T.name, T.parent, T.report, T.resetRaces, T.runCleanup, T.runner, T.setRan, T.signal, T.start, T.sub, T.w, chattyFlag.json, chattyPrinter.Printf, chattyPrinter.Updatef, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Errorf, common.Fail, common.FailNow, common.SkipNow, common.barrier, common.bench, common.chatty, common.checkFuzzFn, common.checkRaces, common.cleanupName, common.cleanupPc, common.cleanupStarted, common.cleanups, common.creator, common.decorate, common.done, common.duration, common.failed, common.finished, common.flushToParent, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.lastRaceErrors, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.raceErrorLogged, common.ran, common.runCleanup, common.runner, common.setRan, common.skipped, common.start, common.sub, common.w, filterMatch.matches, filterMatch.verify, highPrecisionTime.now, highPrecisionTime.sub, matcher.filter, matcher.fullName, matcher.matchFunc, matcher.mu, matcher.skip, matcher.subNames, matcher.unique, testContext.isFuzzing, testContext.match, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

21 verdict rows go test reports and this comparison does not claim:

TestTRun, TestTRun/alternate_sequential_and_parallel, TestTRun/alternate_sequential_and_parallel_2, TestTRun/chatty_with_recursion, TestTRun/chatty_with_recursion_and_json, TestTRun/cleanup_when_subtest_panics, TestTRun/failnow_skips_future_sequential_and_parallel_tests_at_same_level, TestTRun/failure_in_parallel_test_propagates_upwards, TestTRun/log_in_finished_sub_test_logs_to_parent, TestTRun/log_in_finished_sub_test_with_chatty, TestTRun/panic_on_goroutine_fail_after_test_exit, TestTRun/skip_output, TestTRun/skipping_after_error, TestTRun/skipping_without_message,_chatty, TestTRun/skipping_without_message,_not_chatty, TestTRun/stress_test, TestTRun/subtest_calls_error_on_ancestor, TestTRun/subtest_calls_error_on_parent, TestTRun/subtest_calls_fatal_on_ancestor, TestTRun/subtest_calls_fatal_on_parent, TestTRun/use_Run_to_locally_synchronize_parallelism

TestTempDirInBenchmark — B.Run, B.TempDir

1 verdict row go test reports and this comparison does not claim:

TestTempDirInBenchmark

TestTestContext — call.running, call.started, call.typ, call.waiting, chattyPrinter.Printf, chattyPrinter.json, chattyPrinter.lastName, chattyPrinter.lastNameMu, chattyPrinter.prefix, chattyPrinter.w, common.Fail, common.bench, common.chatty, common.checkFuzzFn, common.cleanupName, common.cleanupPc, common.creator, common.decorate, common.done, common.failed, common.frameSkip, common.helperNames, common.helperPCs, common.inFuzzFn, common.level, common.log, common.logDepth, common.mu, common.name, common.output, common.parent, common.runner, testContext.maxParallel, testContext.mu, testContext.numWaiting, testContext.release, testContext.running, testContext.startParallel, testContext.waitParallel

1 verdict row go test reports and this comparison does not claim:

TestTestContext