From d52b449ed7b1f5b8167bf7406679aa253f1f6a82 Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Wed, 14 May 2014 12:39:20 +1000 Subject: [PATCH] go.tools/cmd/godoc: prevent duplicate GOROOT/GOPATH in environment in TestTypeAnalysis LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/94430044 --- cmd/godoc/godoc_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/godoc/godoc_test.go b/cmd/godoc/godoc_test.go index 2cf98772..dd0ded42 100644 --- a/cmd/godoc/godoc_test.go +++ b/cmd/godoc/godoc_test.go @@ -213,9 +213,14 @@ func main() { print(lib.V) } defer cleanup() addr := serverAddress(t) cmd := exec.Command(bin, fmt.Sprintf("-http=%s", addr), "-analysis=type") - cmd.Env = append(cmd.Env, fmt.Sprintf("GOROOT=%s/goroot", tmpdir)) - cmd.Env = append(cmd.Env, fmt.Sprintf("GOPATH=%s/gopath", tmpdir)) - cmd.Env = append(cmd.Env, os.Environ()...) + cmd.Env = append(cmd.Env, fmt.Sprintf("GOROOT=%s", filepath.Join(tmpdir, "goroot"))) + cmd.Env = append(cmd.Env, fmt.Sprintf("GOPATH=%s", filepath.Join(tmpdir, "gopath"))) + for _, e := range os.Environ() { + if strings.HasPrefix(e, "GOROOT=") || strings.HasPrefix(e, "GOPATH=") { + continue + } + cmd.Env = append(cmd.Env, e) + } cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr cmd.Args[0] = "godoc"