expect: EXPECT_DEBUG environment variable

Dump process output to stdout when EXPECT_DEBUG != "".
This commit is contained in:
Anthony Romano 2017-01-06 01:59:00 -08:00
parent a42b399f4e
commit cf382dbe60

View File

@ -17,6 +17,7 @@ package expect
import (
"bufio"
"fmt"
"io"
"os"
"os/exec"
@ -39,6 +40,8 @@ type ExpectProcess struct {
err error
}
var printDebugLines = os.Getenv("EXPECT_DEBUG") != ""
// NewExpect creates a new process for expect testing.
func NewExpect(name string, arg ...string) (ep *ExpectProcess, err error) {
ep = &ExpectProcess{cmd: exec.Command(name, arg...)}
@ -65,6 +68,9 @@ func (ep *ExpectProcess) read() {
ep.mu.Lock()
ep.err = rerr
if l != "" {
if printDebugLines {
fmt.Printf("%s-%d: %s", ep.cmd.Path, ep.cmd.Process.Pid, l)
}
ep.lines = append(ep.lines, l)
ep.count++
if len(ep.lines) == 1 {