From 659b9a19aa509df35f984276e177c68ff7f6f632 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 20 Jun 2016 09:16:17 -0700 Subject: [PATCH] runtime: set PPROF_TMPDIR before running pprof Fixes #16121. Change-Id: I7b838fb6fb9f098e6c348d67379fdc81fb0d69a4 Reviewed-on: https://go-review.googlesource.com/24270 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Michael Hudson-Doyle --- src/runtime/crash_cgo_test.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go index 9e1811aa16..2504bd0f41 100644 --- a/src/runtime/crash_cgo_test.go +++ b/src/runtime/crash_cgo_test.go @@ -252,7 +252,21 @@ func testCgoPprof(t *testing.T, buildArg, runArg string) { fn := strings.TrimSpace(string(got)) defer os.Remove(fn) - top, err := exec.Command("go", "tool", "pprof", "-top", "-nodecount=1", exe, fn).CombinedOutput() + cmd := testEnv(exec.Command("go", "tool", "pprof", "-top", "-nodecount=1", exe, fn)) + + found := false + for i, e := range cmd.Env { + if strings.HasPrefix(e, "PPROF_TMPDIR=") { + cmd.Env[i] = "PPROF_TMPDIR=" + os.TempDir() + found = true + break + } + } + if !found { + cmd.Env = append(cmd.Env, "PPROF_TMPDIR="+os.TempDir()) + } + + top, err := cmd.CombinedOutput() t.Logf("%s", top) if err != nil { t.Fatal(err) -- 2.48.1