From 165a8d93cde73208487d854b71fc4142f2c39c6b Mon Sep 17 00:00:00 2001 From: "Bryan C. Mills" Date: Tue, 19 Feb 2019 14:43:52 -0500 Subject: [PATCH] cmd/vet: do not write test vet binary to GOROOT Updates #28387 Change-Id: Ie5a5f1f798eb5900f9c7bdef165abcca02dd0dde Reviewed-on: https://go-review.googlesource.com/c/163037 Run-TryBot: Bryan C. Mills TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/cmd/vet/vet_test.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/cmd/vet/vet_test.go b/src/cmd/vet/vet_test.go index d106c5c29ce7c..6e8cc70440e54 100644 --- a/src/cmd/vet/vet_test.go +++ b/src/cmd/vet/vet_test.go @@ -21,15 +21,21 @@ import ( "testing" ) -const ( - dataDir = "testdata" - binary = "./testvet.exe" -) +const dataDir = "testdata" + +var binary string // We implement TestMain so remove the test binary when all is done. func TestMain(m *testing.M) { + dir, err := ioutil.TempDir("", "vet_test") + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + defer os.RemoveAll(dir) + binary = filepath.Join(dir, "testvet.exe") + result := m.Run() - os.Remove(binary) os.Exit(result) }