aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Henrik Lunde <chlunde@ifi.uio.no>2017-05-17 19:37:33 +0200
committerAustin Clements <austin@google.com>2017-05-17 18:53:33 +0000
commit2dc27839df7d51b0544c0ac8b2a0b8f030b7a90c (patch)
tree51bcfb17fb752d6a492225a9a2c6d8bfe72cd60f /src
parentb3e577b9e7eb6cc0ccdefdd6f686be5a7f329ec3 (diff)
downloadgo-2dc27839df7d51b0544c0ac8b2a0b8f030b7a90c.tar.xz
runtime/pprof: deflake TestGoroutineCounts
TestGoroutineCounts was flaky when running on a system under load. This happened on three builds the last couple of days. Fix this by running this test with a single operating system thread, so we do not depend on the operating system scheduler. 50 000 tests ran without failure with the new version, the old version failed 0.5% of the time. Fixes #15156. Change-Id: I1e5a18d0fef4f72cc9a56e376822b2849cdb0f8b Reviewed-on: https://go-review.googlesource.com/43590 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/runtime/pprof/pprof_test.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runtime/pprof/pprof_test.go b/src/runtime/pprof/pprof_test.go
index 0d957ad848..c45735f254 100644
--- a/src/runtime/pprof/pprof_test.go
+++ b/src/runtime/pprof/pprof_test.go
@@ -602,6 +602,10 @@ func func3(c chan int) { <-c }
func func4(c chan int) { <-c }
func TestGoroutineCounts(t *testing.T) {
+ // Setting GOMAXPROCS to 1 ensures we can force all goroutines to the
+ // desired blocking point.
+ defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(1))
+
c := make(chan int)
for i := 0; i < 100; i++ {
switch {