Merge pull request #19010 from wojtek-t/debug_watcher_test

Fix etcdWatcher test
This commit is contained in:
Mike Danese 2015-12-22 14:07:41 -08:00
commit bee582293c

View File

@ -266,8 +266,15 @@ func TestWatch(t *testing.T) {
watching.Stop()
if _, open := <-watching.ResultChan(); open {
t.Errorf("An injected error did not cause a graceful shutdown")
// There is a race in etcdWatcher so that after calling Stop() one of
// two things can happen:
// - ResultChan() may be closed (triggered by closing userStop channel)
// - an Error "context cancelled" may be emitted (triggered by cancelling request
// to etcd and putting that error to etcdError channel)
// We need to be prepared for both here.
event, open := <-watching.ResultChan()
if open && event.Type != watch.Error {
t.Errorf("Unexpected event from stopped watcher: %#v", event)
}
}