Ejemplo n.º 1
0
						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)