// ExitCode returns the exit code of the process, or -1 if the process has not // exited. It can be used with the gexec.Exit matcher. func (r *Runner) ExitCode() int { if r.sessionReady == nil { ginkgo.Fail(fmt.Sprintf("ginkgomon.Runner '%s' improperly created without using New", r.Name)) } <-r.sessionReady return r.session.ExitCode() }
// Buffer returns a gbytes.Buffer, for use with the gbytes.Say matcher. func (r *Runner) Buffer() *gbytes.Buffer { if r.sessionReady == nil { ginkgo.Fail(fmt.Sprintf("ginkgomon.Runner '%s' improperly created without using New", r.Name)) } <-r.sessionReady return r.session.Buffer() }
func Invoke(runner ifrit.Runner) ifrit.Process { process := ifrit.Background(runner) select { case <-process.Ready(): case err := <-process.Wait(): ginkgo.Fail(fmt.Sprintf("process failed to start: %s", err)) } return process }