testdata/testing.go: update so it can be run with go 1.16 for comparison

Этот коммит содержится в:
Dan Kegel 2022-01-09 08:37:36 -08:00 коммит произвёл Ron Evans
родитель 69bf6e3c89
коммит 798085e866

24
testdata/testing.go предоставленный
Просмотреть файл

@ -3,6 +3,8 @@ package main
// TODO: also test the verbose version.
import (
"errors"
"io"
"testing"
)
@ -33,14 +35,26 @@ var benchmarks = []testing.InternalBenchmark{}
var examples = []testing.InternalExample{}
var errMain = errors.New("testing: unexpected use of func Main")
// matchStringOnly is part of upstream, and is used below to provide a dummy deps to pass to MainStart
// so it can be run with go (tested with go 1.16) to provide a baseline for the regression test.
// See c56cc9b3b57276. Unfortunately, testdeps is internal, so we can't just use &testdeps.TestDeps{}.
type matchStringOnly func(pat, str string) (bool, error)
func (f matchStringOnly) MatchString(pat, str string) (bool, error) { return f(pat, str) }
func (f matchStringOnly) StartCPUProfile(w io.Writer) error { return errMain }
func (f matchStringOnly) StopCPUProfile() {}
func (f matchStringOnly) WriteProfileTo(string, io.Writer, int) error { return errMain }
func (f matchStringOnly) ImportPath() string { return "" }
func (f matchStringOnly) StartTestLog(io.Writer) {}
func (f matchStringOnly) StopTestLog() error { return errMain }
func (f matchStringOnly) SetPanicOnExit0(bool) {}
func main() {
m := testing.MainStart(testdeps{}, tests, benchmarks, examples)
m := testing.MainStart(matchStringOnly(nil), tests, benchmarks, examples)
exitcode := m.Run()
if exitcode != 0 {
println("exitcode:", exitcode)
}
}
type testdeps struct{}
func (testdeps) MatchString(pat, str string) (bool, error) { return true, nil }