diff options
Diffstat (limited to 'src/time/sleep_test.go')
-rw-r--r-- | src/time/sleep_test.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/time/sleep_test.go b/src/time/sleep_test.go index f5678020b9..ea253f8709 100644 --- a/src/time/sleep_test.go +++ b/src/time/sleep_test.go @@ -501,3 +501,19 @@ func TestZeroTimerStopPanics(t *testing.T) { var tr Timer tr.Stop() } + +// Test that zero duration timers aren't missed by the scheduler. Regression test for issue 44868. +func TestZeroTimer(t *testing.T) { + if testing.Short() { + t.Skip("-short") + } + + for i := 0; i < 1000000; i++ { + s := Now() + ti := NewTimer(0) + <-ti.C + if diff := Since(s); diff > 2*Second { + t.Errorf("Expected time to get value from Timer channel in less than 2 sec, took %v", diff) + } + } +} |