aboutsummaryrefslogtreecommitdiff
path: root/src/os/exec/exec_test.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2015-06-24 17:18:56 +0200
committerBrad Fitzpatrick <bradfitz@golang.org>2015-10-22 14:08:10 +0000
commitc4fa25f4fc8f4419d0b0707bcdae9199a745face (patch)
tree04b2044ac71fb988ea90327500e2c29705a444ce /src/os/exec/exec_test.go
parent72193c98248d26c92ced56e0855eac8722269aad (diff)
downloadgo-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.go19
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)
+ }
+}