Eventually(stdout).Should(gbytes.Say("stdout data")) Eventually(stderr).Should(gbytes.Say("stderr data")) }) }) Describe("Attach", func() { It("sends an attach request and returns a stream", func() { fakeConnection.AttachStub = func(handle string, processID uint32, io garden.ProcessIO) (garden.Process, error) { process := new(wfakes.FakeProcess) process.IDReturns(42) process.WaitReturns(123, nil) go func() { defer GinkgoRecover() _, err := fmt.Fprintf(io.Stdout, "stdout data") Ω(err).ShouldNot(HaveOccurred()) _, err = fmt.Fprintf(io.Stderr, "stderr data") Ω(err).ShouldNot(HaveOccurred()) }() return process, nil } stdout := gbytes.NewBuffer() stderr := gbytes.NewBuffer() processIO := garden.ProcessIO{ Stdout: stdout, Stderr: stderr,