Increase goroutinemap unit test timeouts.

50ms is flaky in Jenkins.

Fixes #25825
This commit is contained in:
Jan Safranek 2016-05-20 10:14:47 +02:00
parent ab10484330
commit 55f9148331

View File

@ -24,6 +24,11 @@ import (
"k8s.io/kubernetes/pkg/util/wait"
)
// testTimeout is a timeout of goroutines to finish. This _should_ be just a
// "context switch" and it should take several ms, however, Clayton says "We
// have had flakes due to tests that assumed that 15s is long enough to sleep")
const testTimeout = 1 * time.Minute
func Test_NewGoRoutineMap_Positive_SingleOp(t *testing.T) {
// Arrange
grm := NewGoRoutineMap()
@ -210,8 +215,7 @@ func Test_NewGoRoutineMap_Positive_WaitEmpty(t *testing.T) {
}()
// Assert
// Tolerate 50 milliseconds for goroutine context switches etc.
err := waitChannelWithTimeout(waitDoneCh, 50*time.Millisecond)
err := waitChannelWithTimeout(waitDoneCh, testTimeout)
if err != nil {
t.Errorf("Error waiting for GoRoutineMap.Wait: %v", err)
}
@ -236,18 +240,11 @@ func Test_NewGoRoutineMap_Positive_Wait(t *testing.T) {
waitDoneCh <- true
}()
// Assert
// Check that Wait() really blocks
err = waitChannelWithTimeout(waitDoneCh, 100*time.Millisecond)
if err == nil {
t.Fatalf("Expected Wait() to block but it returned early")
}
// Finish the operation
operation1DoneCh <- true
// check that Wait() finishes in reasonable time
err = waitChannelWithTimeout(waitDoneCh, 50*time.Millisecond)
// Assert
err = waitChannelWithTimeout(waitDoneCh, testTimeout)
if err != nil {
t.Fatalf("Error waiting for GoRoutineMap.Wait: %v", err)
}