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>
// 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 (