• Richard Miller's avatar
    runtime/pprof: make TestBlockProfile less timing dependent · 121c434f
    Richard Miller authored
    The test for profiling of channel blocking is timing dependent,
    and in particular the blockSelectRecvAsync case can fail on a
    slow builder (plan9_arm) when many tests are run in parallel.
    The child goroutine sleeps for a fixed period so the parent
    can be observed to block in a select call reading from the
    child; but if the OS process running the parent goroutine is
    delayed long enough, the child may wake again before the
    parent has reached the blocking point.  By repeating the test
    three times, the likelihood of a blocking event is increased.
    
    Fixes #15096
    
    Change-Id: I2ddb9576a83408d06b51ded682bf8e71e53ce59e
    Reviewed-on: https://go-review.googlesource.com/21604Reviewed-by: 's avatarDmitry Vyukov <dvyukov@google.com>
    Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    121c434f
pprof_test.go 16.4 KB