]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/pprof: skip TestStackBarrierProfiling on FreeBSD, too
authorAustin Clements <austin@google.com>
Fri, 8 Jan 2016 19:32:52 +0000 (14:32 -0500)
committerAustin Clements <austin@google.com>
Fri, 8 Jan 2016 20:49:26 +0000 (20:49 +0000)
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 <bradfitz@golang.org>
Run-TryBot: Austin Clements <austin@google.com>

src/runtime/pprof/pprof_test.go

index 9e30313146062d3896fa689d01ad59e93ac23909..c241b54ae7721a4554f3f67054e5021eb62fc7ab 100644 (file)
@@ -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