From c2dea2196c336ba195ee713fd0020031d473500e Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 18 Feb 2010 18:32:33 -0800 Subject: exec: add dir argument to Run. fix, test MergeWithStdout R=r CC=golang-dev https://golang.org/cl/214046 --- src/pkg/exec/exec_test.go | 57 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 10 deletions(-) (limited to 'src/pkg/exec/exec_test.go') diff --git a/src/pkg/exec/exec_test.go b/src/pkg/exec/exec_test.go index 9c4d2ee319..3e4ab7d780 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) } } -- cgit v1.3