"os" . "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/ginkgo" . "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/gomega" "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/tedsuo/ifrit" "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/tedsuo/ifrit/fake_runner" "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/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()
started chan struct{} groupRunner ifrit.Runner groupProcess ifrit.Process members grouper.Members childRunner1 *fake_runner.TestRunner childRunner2 *fake_runner.TestRunner childRunner3 *fake_runner.TestRunner Δ time.Duration = 10 * time.Millisecond ) Describe("Start", func() { BeforeEach(func() { childRunner1 = fake_runner.NewTestRunner() childRunner2 = fake_runner.NewTestRunner() childRunner3 = fake_runner.NewTestRunner() members = grouper.Members{ {"child1", childRunner1}, {"child2", childRunner2}, {"child3", childRunner3}, } groupRunner = grouper.NewOrdered(os.Interrupt, members) }) AfterEach(func() { childRunner1.EnsureExit() childRunner2.EnsureExit()
"github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/tedsuo/ifrit/fake_runner" "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/tedsuo/ifrit/proxy" . "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/github.com/onsi/ginkgo" . "github.com/cloudfoundry-incubator/docker_app_lifecycle/Godeps/_workspace/src/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))) }) })