]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: set PPROF_TMPDIR before running pprof
authorIan Lance Taylor <iant@golang.org>
Mon, 20 Jun 2016 16:16:17 +0000 (09:16 -0700)
committerIan Lance Taylor <iant@golang.org>
Mon, 20 Jun 2016 23:58:59 +0000 (23:58 +0000)
Fixes #16121.

Change-Id: I7b838fb6fb9f098e6c348d67379fdc81fb0d69a4
Reviewed-on: https://go-review.googlesource.com/24270
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
src/runtime/crash_cgo_test.go

index 9e1811aa161721f20ce948c752f72f5d73ecc767..2504bd0f415509d2cb68a73f9be846df416b7204 100644 (file)
@@ -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)