func (s *oplogSuite) assertNoOplog(c *gc.C, tailer *mongo.OplogTailer) { select { case _, ok := <-tailer.Out(): if !ok { c.Fatalf("tailer unexpectedly died: %v", tailer.Err()) } c.Fatal("unexpected oplog activity reported") case <-time.After(coretesting.ShortWait): // Success } }
func (s *oplogSuite) getNextOplog(c *gc.C, tailer *mongo.OplogTailer) *mongo.OplogDoc { select { case doc, ok := <-tailer.Out(): if !ok { c.Fatalf("tailer unexpectedly died: %v", tailer.Err()) } return doc case <-time.After(coretesting.LongWait): c.Fatal("timed out waiting for oplog doc") } return nil }
func (s *oplogSuite) assertStopped(c *gc.C, tailer *mongo.OplogTailer) { // Output should close. select { case _, ok := <-tailer.Out(): c.Assert(ok, jc.IsFalse) case <-time.After(coretesting.LongWait): c.Fatal("tailer output should have closed") } // OplogTailer should die. select { case <-tailer.Dying(): // Success. case <-time.After(coretesting.LongWait): c.Fatal("tailer should have died") } }