"github.com/tedsuo/ifrit/grouper" ) var _ = Describe("dynamicGroup", func() { var ( 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}
"os" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/tedsuo/ifrit" "github.com/tedsuo/ifrit/fake_runner" "github.com/tedsuo/ifrit/restart" ) var _ = Describe("Restart", func() { var testRunner *fake_runner.TestRunner var restarter restart.Restarter var process ifrit.Process BeforeEach(func() { 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()
"github.com/tedsuo/ifrit/fake_runner" "github.com/tedsuo/ifrit/proxy" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Proxy", func() { var testRunner *fake_runner.TestRunner var process ifrit.Process var proxySignals chan os.Signal var receivedSignals <-chan os.Signal BeforeEach(func() { proxySignals = make(chan os.Signal, 1) testRunner = fake_runner.NewTestRunner() process = ifrit.Background(proxy.New(proxySignals, testRunner)) receivedSignals = testRunner.WaitForCall() testRunner.TriggerReady() }) It("sends the proxied signals to the embedded runner", func() { proxySignals <- os.Interrupt Eventually(receivedSignals).Should(Receive(Equal(os.Interrupt))) }) It("sends the process signals to the embedded runner", func() { process.Signal(os.Interrupt) Eventually(receivedSignals).Should(Receive(Equal(os.Interrupt))) }) })