} } }) Context("when attaching to the process succeeds", func() { var fakeProcess *gfakes.FakeProcess BeforeEach(func() { fakeProcess = new(gfakes.FakeProcess) fakeContainer.AttachReturns(fakeProcess, nil) }) It("attaches to the correct process", func() { Ω(fakeContainer.AttachCallCount()).Should(Equal(1)) pid, _ := fakeContainer.AttachArgsForCall(0) Ω(pid).Should(Equal(uint32(42))) }) It("directs the process's stdout/stderr to the io config", func() { Ω(fakeContainer.AttachCallCount()).Should(Equal(1)) _, pio := fakeContainer.AttachArgsForCall(0) Ω(pio.Stdout).Should(Equal(stdoutBuf)) Ω(pio.Stderr).Should(Equal(stderrBuf)) }) It("does not invoke the delegate's Started callback", func() { Ω(taskDelegate.StartedCallCount()).Should(BeZero()) }) })