• Matthew Dempsky's avatar
    time: use longer delta duration for TestAfterQueueing retries · d12b5322
    Matthew Dempsky authored
    The TestAfterQueueing test is inherently flaky because it relies on
    independent kernel threads being scheduled within the "delta" duration
    of each other.  Normally, delta is 100ms but during "short" testing,
    it's reduced to 20ms.
    
    On at least OpenBSD, the CPU scheduler operates in 10ms time slices,
    so high system load (e.g., from running multiple Go unit tests in
    parallel, as happens during all.bash) can occasionally cause >20ms
    scheduling delays and result in test flaking.  This manifests as issue
    9903, which is the currently the most common OpenBSD flake.
    
    To mitigate this delay, only reduce the delta duration to 20ms for the
    first attempt during short testing.  If this fails and the test is
    reattempted, subsequent attempts instead use a full 100ms delta.
    
    Fixes #9903.
    
    Change-Id: I11bdfa939e5be915f67ffad8a8aef6ed8772159a
    Reviewed-on: https://go-review.googlesource.com/9510
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    d12b5322
sleep_test.go 9.4 KB