testRunner = fake_runner.NewTestRunner() restarter = restart.Restarter{ Runner: testRunner, Load: func(runner ifrit.Runner, err error) ifrit.Runner { return nil }, } }) JustBeforeEach(func() { process = ifrit.Background(restarter) }) AfterEach(func() { process.Signal(os.Kill) testRunner.EnsureExit() Eventually(process.Wait()).Should(Receive()) }) Describe("Process Behavior", func() { It("waits for the internal runner to be ready", func() { Consistently(process.Ready()).ShouldNot(BeClosed()) testRunner.TriggerReady() Eventually(process.Ready()).Should(BeClosed()) }) }) Describe("Load", func() { Context("when load returns a runner", func() {
client grouper.DynamicClient pool grouper.DynamicGroup poolProcess ifrit.Process childRunner1 *fake_runner.TestRunner childRunner2 *fake_runner.TestRunner childRunner3 *fake_runner.TestRunner ) BeforeEach(func() { childRunner1 = fake_runner.NewTestRunner() childRunner2 = fake_runner.NewTestRunner() childRunner3 = fake_runner.NewTestRunner() }) AfterEach(func() { childRunner1.EnsureExit() childRunner2.EnsureExit() childRunner3.EnsureExit() }) Describe("Get", func() { var member1, member2, member3 grouper.Member BeforeEach(func() { member1 = grouper.Member{"child1", childRunner1} member2 = grouper.Member{"child2", childRunner2} member3 = grouper.Member{"child3", childRunner3} pool = grouper.NewDynamic(nil, 3, 2) client = pool.Client() poolProcess = ifrit.Envoke(pool)