diff options
| author | Brad Fitzpatrick <bradfitz@golang.org> | 2015-06-24 17:18:56 +0200 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2015-10-22 14:08:10 +0000 |
| commit | c4fa25f4fc8f4419d0b0707bcdae9199a745face (patch) | |
| tree | 04b2044ac71fb988ea90327500e2c29705a444ce /src/os/exec/exec_test.go | |
| parent | 72193c98248d26c92ced56e0855eac8722269aad (diff) | |
| download | go-c4fa25f4fc8f4419d0b0707bcdae9199a745face.tar.xz | |
os/exec: make Cmd.Output include stderr in ExitError
Change-Id: I3c6649d2f2521ab0843b13308569867d2e5f02da
Reviewed-on: https://go-review.googlesource.com/11415
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/os/exec/exec_test.go')
| -rw-r--r-- | src/os/exec/exec_test.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go index 28be21ce63..52b4724ab0 100644 --- a/src/os/exec/exec_test.go +++ b/src/os/exec/exec_test.go @@ -760,6 +760,9 @@ func TestHelperProcess(*testing.T) { } fmt.Print(p) os.Exit(0) + case "stderrfail": + fmt.Fprintf(os.Stderr, "some stderr text\n") + os.Exit(1) default: fmt.Fprintf(os.Stderr, "Unknown command %q\n", cmd) os.Exit(2) @@ -816,3 +819,19 @@ func TestClosePipeOnCopyError(t *testing.T) { t.Fatalf("yes got stuck writing to bad writer") } } + +func TestOutputStderrCapture(t *testing.T) { + testenv.MustHaveExec(t) + + cmd := helperCommand(t, "stderrfail") + _, err := cmd.Output() + ee, ok := err.(*exec.ExitError) + if !ok { + t.Fatalf("Output error type = %T; want ExitError", err) + } + got := string(ee.Stderr) + want := "some stderr text\n" + if got != want { + t.Errorf("ExitError.Stderr = %q; want %q", got, want) + } +} |
