}) It("configures the tracker with the a generated process guid", func() { pidGenerator.GenerateReturns("some-process-guid") runner.Start("some/oci/container", "some-handle", garden.ProcessIO{Stdout: GinkgoWriter}) Expect(tracker.RunCallCount()).To(Equal(1)) id, _, _, _, _ := tracker.RunArgsForCall(0) Expect(id).To(BeEquivalentTo("some-process-guid")) }) }) Describe("Exec", func() { It("runs the tracker with the a generated process guid", func() { pidGenerator.GenerateReturns("another-process-guid") runner.Exec("some/oci/container", garden.ProcessSpec{}, garden.ProcessIO{}) Expect(tracker.RunCallCount()).To(Equal(1)) pid, _, _, _, _ := tracker.RunArgsForCall(0) Expect(pid).To(BeEquivalentTo("another-process-guid")) }) It("runs exec against the injected runC binary using process tracker", func() { ttyspec := &garden.TTYSpec{WindowSize: &garden.WindowSize{Rows: 1}} runner.Exec("some-id", garden.ProcessSpec{TTY: ttyspec}, garden.ProcessIO{Stdout: GinkgoWriter}) Expect(tracker.RunCallCount()).To(Equal(1)) _, cmd, io, tty, _ := tracker.RunArgsForCall(0) Expect(cmd.Args[:2]).To(Equal([]string{"funC", "some-id"})) Expect(io.Stdout).To(Equal(GinkgoWriter)) Expect(tty).To(Equal(ttyspec))
}) It("configures the tracker with the a generated process guid", func() { pidGenerator.GenerateReturns("some-process-guid") runner.Start(logger, "some/oci/container", "some-handle", garden.ProcessIO{Stdout: GinkgoWriter}) Expect(tracker.RunCallCount()).To(Equal(1)) id, _, _, _ := tracker.RunArgsForCall(0) Expect(id).To(BeEquivalentTo("some-process-guid")) }) }) Describe("Exec", func() { It("runs the tracker with the a generated process guid", func() { pidGenerator.GenerateReturns("another-process-guid") runner.Exec(logger, "some/oci/container", "someid", garden.ProcessSpec{}, garden.ProcessIO{}) Expect(tracker.RunCallCount()).To(Equal(1)) pid, _, _, _ := tracker.RunArgsForCall(0) Expect(pid).To(BeEquivalentTo("another-process-guid")) }) It("runs exec against the injected runC binary using process tracker", func() { ttyspec := &garden.TTYSpec{WindowSize: &garden.WindowSize{Rows: 1}} runner.Exec(logger, "/some/bundle/path", "some-id", garden.ProcessSpec{TTY: ttyspec}, garden.ProcessIO{Stdout: GinkgoWriter}) Expect(tracker.RunCallCount()).To(Equal(1)) _, cmd, io, tty := tracker.RunArgsForCall(0) Expect(cmd.Args[:3]).To(Equal([]string{"funC", "exec", "some-id"})) Expect(io.Stdout).To(Equal(GinkgoWriter)) Expect(tty).To(Equal(ttyspec))