From 1cd6d8b974517e6c0506d3959a9ad08f98e89902 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 1 Mar 2019 13:08:30 -0800 Subject: [PATCH] cmd/vet: let TestMain run deferred functions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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í --- src/cmd/vet/vet_test.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 ( -- 2.48.1