cache: fix flaky resync test

pull/6/head
Xiang Li 2016-05-21 08:12:20 -07:00
parent 0257f54a8c
commit f31ec95f05
1 changed files with 7 additions and 2 deletions

View File

@ -17,6 +17,7 @@ limitations under the License.
package cache package cache
import ( import (
"errors"
"fmt" "fmt"
"math/rand" "math/rand"
"strconv" "strconv"
@ -354,11 +355,12 @@ func TestReflectorListAndWatchWithErrors(t *testing.T) {
func TestReflectorResync(t *testing.T) { func TestReflectorResync(t *testing.T) {
iteration := 0 iteration := 0
stopCh := make(chan struct{}) stopCh := make(chan struct{})
rerr := errors.New("expected resync reached")
s := &FakeCustomStore{ s := &FakeCustomStore{
ResyncFunc: func() error { ResyncFunc: func() error {
iteration++ iteration++
if iteration == 2 { if iteration == 2 {
close(stopCh) return rerr
} }
return nil return nil
}, },
@ -375,7 +377,10 @@ func TestReflectorResync(t *testing.T) {
} }
resyncPeriod := 1 * time.Millisecond resyncPeriod := 1 * time.Millisecond
r := NewReflector(lw, &api.Pod{}, s, resyncPeriod) r := NewReflector(lw, &api.Pod{}, s, resyncPeriod)
r.ListAndWatch(stopCh) err := r.ListAndWatch(stopCh)
if err != rerr {
t.Errorf("expected exiting from err %v, got: %v", rerr, err)
}
if iteration != 2 { if iteration != 2 {
t.Errorf("exactly 2 iterations were expected, got: %v", iteration) t.Errorf("exactly 2 iterations were expected, got: %v", iteration)
} }