pidGenerator *fakes.FakeUidGenerator runcBinary *fakes.FakeRuncBinary runner *runrunc.RunRunc ) BeforeEach(func() { tracker = new(fakes.FakeProcessTracker) pidGenerator = new(fakes.FakeUidGenerator) runcBinary = new(fakes.FakeRuncBinary) commandRunner = fake_command_runner.New() runner = runrunc.New(tracker, commandRunner, pidGenerator, runcBinary) runcBinary.StartCommandStub = func(path, id string) *exec.Cmd { return exec.Command("funC", path, id) } runcBinary.ExecCommandStub = func(id, processJSONPath string) *exec.Cmd { return exec.Command("funC", id, processJSONPath) } }) Describe("Start", func() { It("runs the injected runC binary using process tracker", func() { runner.Start("some/oci/container", "handle", garden.ProcessIO{Stdout: GinkgoWriter}) Expect(tracker.RunCallCount()).To(Equal(1)) _, cmd, io, _, _ := tracker.RunArgsForCall(0) Expect(cmd.Args).To(Equal([]string{"funC", "some/oci/container", "handle"})) Expect(io.Stdout).To(Equal(GinkgoWriter))