From: Austin Clements Date: Fri, 8 Jan 2016 19:32:52 +0000 (-0500) Subject: runtime/pprof: skip TestStackBarrierProfiling on FreeBSD, too X-Git-Tag: go1.6beta2~53 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=903c307c2bf7026f4bc3904b8e4e9cd248654851;p=gostls13.git runtime/pprof: skip TestStackBarrierProfiling on FreeBSD, too Sigh. Sleeps on FreeBSD also yield the rest of the time slice and profiling signals are only delivered when a process completes a time slice (worse, itimer time is only accounted to the process that completes a time slice). It's less noticeable than the other BSDs because the default tick rate is 1000Hz, but it's still failing regularly. Fixes #13846. Change-Id: I41bf116bffe46682433b677183f86944d0944ed4 Reviewed-on: https://go-review.googlesource.com/18455 Reviewed-by: Brad Fitzpatrick Run-TryBot: Austin Clements --- diff --git a/src/runtime/pprof/pprof_test.go b/src/runtime/pprof/pprof_test.go index 9e30313146..c241b54ae7 100644 --- a/src/runtime/pprof/pprof_test.go +++ b/src/runtime/pprof/pprof_test.go @@ -333,11 +333,11 @@ func TestMathBigDivide(t *testing.T) { } func TestStackBarrierProfiling(t *testing.T) { - if (runtime.GOOS == "linux" && runtime.GOARCH == "arm") || runtime.GOOS == "openbsd" || runtime.GOOS == "solaris" || runtime.GOOS == "dragonfly" { + if (runtime.GOOS == "linux" && runtime.GOARCH == "arm") || runtime.GOOS == "openbsd" || runtime.GOOS == "solaris" || runtime.GOOS == "dragonfly" || runtime.GOOS == "freebsd" { // This test currently triggers a large number of // usleep(100)s. These kernels/arches have poor // resolution timers, so this gives up a whole - // scheduling quantum. On Linux and OpenBSD (and + // scheduling quantum. On Linux and the BSDs (and // probably Solaris), profiling signals are only // generated when a process completes a whole // scheduling quantum, so this test often gets zero