if inMessageChan != nil { close(inMessageChan) } }) It("panics if buffer size is less than 3", func() { Expect(func() { truncatingbuffer.NewTruncatingBuffer(inMessageChan, nil, 2, loggertesthelper.Logger(), "dropsonde-origin", "test-sync-name", nil) }).To(Panic()) }) Describe("Run", func() { It("exits when the input channel is closed", func() { done := make(chan struct{}) go func() { buffer.Run() close(done) }() close(inMessageChan) Eventually(done).Should(BeClosed()) inMessageChan = nil }) It("exits when stopped", func() { done := make(chan struct{}) go func() { buffer.Run() close(done) }()