}) It("responds with a ProcessPayload for every chunk", func() { stdout := gbytes.NewBuffer() stderr := gbytes.NewBuffer() processIO := garden.ProcessIO{ Stdin: bytes.NewBufferString("stdin data"), Stdout: stdout, Stderr: stderr, } process, err := container.Attach(42, processIO) Ω(err).ShouldNot(HaveOccurred()) pid, _ := fakeContainer.AttachArgsForCall(0) Ω(pid).Should(Equal(uint32(42))) Eventually(stdout).Should(gbytes.Say("stdout data")) Eventually(stdout).Should(gbytes.Say("mirrored stdin data")) Eventually(stderr).Should(gbytes.Say("stderr data")) status, err := process.Wait() Ω(err).ShouldNot(HaveOccurred()) Ω(status).Should(Equal(123)) }) itResetsGraceTimeWhenHandling(func() { process, err := container.Attach(42, garden.ProcessIO{ Stdin: bytes.NewBufferString("hello"), })