diff options
author | Russ Cox <rsc@golang.org> | 2010-02-18 18:32:33 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-02-18 18:32:33 -0800 |
commit | 8690a162c8b2b69c7bd81917d8ee97b29bc9cfed (patch) | |
tree | db1da0429ec941b2a746d31fa9c2cda0fdc6a574 /src/pkg/exec/exec_test.go | |
parent | 43651f500b2a2d29672328b360e0b5d8c2b4d4f0 (diff) | |
download | golang-8690a162c8b2b69c7bd81917d8ee97b29bc9cfed.tar.gz |
exec: add dir argument to Run.
fix, test MergeWithStdout
R=r
CC=golang-dev
http://codereview.appspot.com/214046
Diffstat (limited to 'src/pkg/exec/exec_test.go')
-rw-r--r-- | src/pkg/exec/exec_test.go | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/src/pkg/exec/exec_test.go b/src/pkg/exec/exec_test.go index 9c4d2ee31..3e4ab7d78 100644 --- a/src/pkg/exec/exec_test.go +++ b/src/pkg/exec/exec_test.go @@ -11,39 +11,76 @@ import ( ) func TestRunCat(t *testing.T) { - cmd, err := Run("/bin/cat", []string{"cat"}, nil, + cmd, err := Run("/bin/cat", []string{"cat"}, nil, "", Pipe, Pipe, DevNull) if err != nil { - t.Fatalf("opencmd /bin/cat: %v", err) + t.Fatal("run:", err) } io.WriteString(cmd.Stdin, "hello, world\n") cmd.Stdin.Close() buf, err := ioutil.ReadAll(cmd.Stdout) if err != nil { - t.Fatalf("reading from /bin/cat: %v", err) + t.Fatal("read:", err) } if string(buf) != "hello, world\n" { - t.Fatalf("reading from /bin/cat: got %q", buf) + t.Fatalf("read: got %q", buf) } if err = cmd.Close(); err != nil { - t.Fatalf("closing /bin/cat: %v", err) + t.Fatal("close:", err) } } func TestRunEcho(t *testing.T) { - cmd, err := Run("/bin/echo", []string{"echo", "hello", "world"}, nil, + cmd, err := Run("/bin/echo", []string{"echo", "hello", "world"}, nil, "", DevNull, Pipe, DevNull) if err != nil { - t.Fatalf("opencmd /bin/echo: %v", err) + t.Fatal("run:", err) } buf, err := ioutil.ReadAll(cmd.Stdout) if err != nil { - t.Fatalf("reading from /bin/echo: %v", err) + t.Fatal("read:", err) } if string(buf) != "hello world\n" { - t.Fatalf("reading from /bin/echo: got %q", buf) + t.Fatalf("read: got %q", buf) } if err = cmd.Close(); err != nil { - t.Fatalf("closing /bin/echo: %v", err) + t.Fatal("close:", err) + } +} + +func TestStderr(t *testing.T) { + cmd, err := Run("/bin/sh", []string{"sh", "-c", "echo hello world 1>&2"}, nil, "", + DevNull, DevNull, Pipe) + if err != nil { + t.Fatal("run:", err) + } + buf, err := ioutil.ReadAll(cmd.Stderr) + if err != nil { + t.Fatal("read:", err) + } + if string(buf) != "hello world\n" { + t.Fatalf("read: got %q", buf) + } + if err = cmd.Close(); err != nil { + t.Fatal("close:", err) + } +} + + +func TestMergeWithStdout(t *testing.T) { + cmd, err := Run("/bin/sh", []string{"sh", "-c", "echo hello world 1>&2"}, nil, "", + DevNull, Pipe, MergeWithStdout) + if err != nil { + t.Fatal("run:", err) + } + buf, err := ioutil.ReadAll(cmd.Stdout) + if err != nil { + t.Fatal("read:", err) + } + if string(buf) != "hello world\n" { + t.Fatalf("read: got %q", buf) + } + if err = cmd.Close(); err != nil { + t.Fatal("close:", err) } } |