diff --git a/src/runtime/pprof/pprof_test.go b/src/runtime/pprof/pprof_test.go index 101c0598937..49dd78446f6 100644 --- a/src/runtime/pprof/pprof_test.go +++ b/src/runtime/pprof/pprof_test.go @@ -10,6 +10,7 @@ import ( "bytes" "fmt" "math/big" + "os" "os/exec" "regexp" "runtime" @@ -186,6 +187,14 @@ func testCPUProfile(t *testing.T, need []string, f func()) { t.Skipf("ignoring failure on %s; see golang.org/issue/6047", runtime.GOOS) return } + // Ignore the failure if the tests are running in a QEMU-based emulator, + // QEMU is not perfect at emulating everything. + // IN_QEMU environmental variable is set by some of the Go builders. + // IN_QEMU=1 indicates that the tests are running in QEMU. See issue 9605. + if os.Getenv("IN_QEMU") == "1" { + t.Skip("ignore the failure in QEMU; see golang.org/issue/9605") + return + } t.FailNow() } }