Eventually(registeredRoutes, 5).Should(Receive(&msg2)) Expect(msg2).To(MatchRegistryMessage(msg1)) }) }) }) }) Context("and another emitter starts", func() { var ( secondRunner *ginkgomon.Runner secondEmitter ifrit.Process ) BeforeEach(func() { secondRunner = createEmitterRunner("emitter2") secondRunner.StartCheck = "lock.acquiring-lock" secondEmitter = ginkgomon.Invoke(secondRunner) }) AfterEach(func() { Expect(secondEmitter.Wait()).NotTo(Receive(), "Runner should not have exploded!") ginkgomon.Interrupt(secondEmitter, emitterInterruptTimeout) }) Describe("the second emitter", func() { It("does not become active", func() { Consistently(secondRunner.Buffer, 5*time.Second).ShouldNot(gbytes.Say("emitter2.started")) }) })