Ω(err).Should(Equal(disaster)) }) }) }) Describe("Run", func() { It("sends a run request and returns the process id and a stream", func() { fakeConnection.RunStub = func(handle string, spec garden.ProcessSpec, io garden.ProcessIO) (garden.Process, error) { process := new(gardenfakes.FakeProcess) process.IDReturns("process-handle") 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 } spec := garden.ProcessSpec{ Path: "some-script", } stdout := gbytes.NewBuffer() stderr := gbytes.NewBuffer()