From: Ian Lance Taylor Date: Fri, 1 Mar 2019 21:08:30 +0000 (-0800) Subject: cmd/vet: let TestMain run deferred functions X-Git-Tag: go1.13beta1~1273 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1cd6d8b974517e6c0506d3959a9ad08f98e89902;p=gostls13.git 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 TryBot-Result: Gobot Gobot Reviewed-by: Daniel Martí --- diff --git a/src/cmd/vet/vet_test.go b/src/cmd/vet/vet_test.go index e9b8c69d53..5d8139d977 100644 --- a/src/cmd/vet/vet_test.go +++ b/src/cmd/vet/vet_test.go @@ -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 (