1
0
mirror of https://github.com/golang/go synced 2024-11-16 22:14:45 -07:00

cmd/vet: let TestMain run deferred functions

Split TestMain into two functions so that we can defer cleanups.

Updates #30500

Change-Id: I1fa7957be0779c079ec4d221a8321b45ddb973e2
Reviewed-on: https://go-review.googlesource.com/c/164860
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
This commit is contained in:
Ian Lance Taylor 2019-03-01 13:08:30 -08:00
parent b45f5b5e16
commit 1cd6d8b974

View File

@ -28,16 +28,19 @@ var binary string
// We implement TestMain so remove the test binary when all is done.
func TestMain(m *testing.M) {
os.Exit(testMain(m))
}
func testMain(m *testing.M) int {
dir, err := ioutil.TempDir("", "vet_test")
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
return 1
}
defer os.RemoveAll(dir)
binary = filepath.Join(dir, "testvet.exe")
result := m.Run()
os.Exit(result)
return m.Run()
}
var (