mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Increase goroutinemap unit test timeouts.
50ms is flaky in Jenkins. Fixes #25825
This commit is contained in:
parent
ab10484330
commit
55f9148331
@ -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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user