Commit 70a71990 authored by k8s-merge-robot's avatar k8s-merge-robot

Merge pull request #26123 from brendandburns/flaker

Automatic merge from submit-queue Add some extra checking in the tests to prevent flakes. Attempts to fix https://github.com/kubernetes/kubernetes/issues/25967 The hypothesis is that somehow waitTest() catches an idle that occurs before all changes have been applied. This will block until the expected number of changes have arrived.
parents 28a60157 88663fc5
......@@ -33,6 +33,7 @@ import (
// can't reliably simulate periodic sync of volumes/claims - it would be
// either very timing-sensitive or slow to wait for real periodic sync.
func TestControllerSync(t *testing.T) {
expectedChanges := []int{1, 4, 1, 1}
tests := []controllerTest{
// [Unit test set 5] - controller tests.
// We test the controller as if
......@@ -121,7 +122,7 @@ func TestControllerSync(t *testing.T) {
},
}
for _, test := range tests {
for ix, test := range tests {
glog.V(4).Infof("starting test %q", test.name)
// Initialize the controller
......@@ -148,13 +149,17 @@ func TestControllerSync(t *testing.T) {
time.Sleep(10 * time.Millisecond)
}
count := reactor.getChangeCount()
// Call the tested function
err := test.test(ctrl, reactor, test)
if err != nil {
t.Errorf("Test %q initial test call failed: %v", test.name, err)
}
reactor.waitTest()
for reactor.getChangeCount() < count+expectedChanges[ix] {
reactor.waitTest()
}
evaluateTestResults(ctrl, reactor, test, t)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment