if n, _ := returnedFds[1].Read(exit); n > 0 { return exit[0] } return 255 }).Should(Equal(byte(42))) }) }) Context("when wait does not return", func() { var block chan struct{} BeforeEach(func() { block = make(chan struct{}) runner.WaitStub = func(*exec.Cmd) byte { <-block return 0 } }) It("does not block", func(done Done) { close(block) Eventually(func() byte { exit := make([]byte, 1) if n, _ := returnedFds[1].Read(exit); n > 0 { return exit[0] } return 255 }, 10.0).Should(Equal(byte(0))) close(done) }, 30.0)