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:
parent
b45f5b5e16
commit
1cd6d8b974
@ -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 (
|
||||
|
Loading…
Reference in New Issue
Block a user