var runSubprocessTests … var goplsBinaryPath … var timeout … var skipCleanup … var printGoroutinesOnFailure … var printLogs … func defaultTimeout() time.Duration { … } var runner … func Run(t *testing.T, files string, f TestFunc) { … } func WithOptions(opts ...RunOption) configuredRunner { … } type configuredRunner … func (r configuredRunner) Run(t *testing.T, files string, f TestFunc) { … } type RunMultiple … func (r RunMultiple) Run(t *testing.T, files string, f TestFunc) { … } // DefaultModes returns the default modes to run for each regression test (they // may be reconfigured by the tests themselves). func DefaultModes() Mode { … } var runFromMain … // Main sets up and tears down the shared integration test state. func Main(m *testing.M) (code int) { … } // FilterToolchainPathAndGOROOT updates the PATH and GOROOT environment // variables for the current process to effectively revert the changes made by // the go command when performing a toolchain switch in the context of `go // test` (see golang/go#68005). // // It does this by looking through PATH for a go command that is NOT a // toolchain go command, and adjusting PATH to find that go command. Then it // unsets GOROOT in order to use the default GOROOT for that go command. // // TODO(rfindley): this is very much a hack, so that our 1.21 and 1.22 builders // actually exercise integration with older go commands. In golang/go#69321, we // hope to do better. func FilterToolchainPathAndGOROOT() { … } // findLocalGo returns a path to a local (=non-toolchain) Go version, or the // empty string if none is found. // // The second result reports if path matches the result of exec.LookPath. func findLocalGo() (path string, first bool) { … }