Describe("Attaching", func() { Context("to a started process", func() { JustBeforeEach(func() { fakeProcessTracker.AttachStub = func(id uint32, io garden.ProcessIO) (garden.Process, error) { writing := new(sync.WaitGroup) writing.Add(1) go func() { defer writing.Done() defer GinkgoRecover() _, err := fmt.Fprintf(io.Stdout, "hi out\n") Expect(err).ToNot(HaveOccurred()) _, err = fmt.Fprintf(io.Stderr, "hi err\n") Expect(err).ToNot(HaveOccurred()) }() process := new(wfakes.FakeProcess) process.IDReturns(42) process.WaitStub = func() (int, error) { writing.Wait() return 123, nil } return process, nil } }) It("streams stderr and stdout and exit status", func() {