diff options
Diffstat (limited to 'libgo/go/exec/exec_test.go')
-rw-r--r-- | libgo/go/exec/exec_test.go | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/libgo/go/exec/exec_test.go b/libgo/go/exec/exec_test.go index 04f72cf833b..3a3d3b1a53e 100644 --- a/libgo/go/exec/exec_test.go +++ b/libgo/go/exec/exec_test.go @@ -9,15 +9,23 @@ import ( "io/ioutil" "testing" "os" + "runtime" ) -func TestRunCat(t *testing.T) { - cat, err := LookPath("cat") +func run(argv []string, stdin, stdout, stderr int) (p *Cmd, err os.Error) { + if runtime.GOOS == "windows" { + argv = append([]string{"cmd", "/c"}, argv...) + } + exe, err := LookPath(argv[0]) if err != nil { - t.Fatal("cat: ", err) + return nil, err } - cmd, err := Run(cat, []string{"cat"}, nil, "", - Pipe, Pipe, DevNull) + p, err = Run(exe, argv, nil, "", stdin, stdout, stderr) + return p, err +} + +func TestRunCat(t *testing.T) { + cmd, err := run([]string{"cat"}, Pipe, Pipe, DevNull) if err != nil { t.Fatal("run:", err) } @@ -36,11 +44,7 @@ func TestRunCat(t *testing.T) { } func TestRunEcho(t *testing.T) { - echo, err := LookPath("echo") - if err != nil { - t.Fatal("echo: ", err) - } - cmd, err := Run(echo, []string{"echo", "hello", "world"}, nil, "", + cmd, err := run([]string{"sh", "-c", "echo hello world"}, DevNull, Pipe, DevNull) if err != nil { t.Fatal("run:", err) @@ -58,11 +62,7 @@ func TestRunEcho(t *testing.T) { } func TestStderr(t *testing.T) { - sh, err := LookPath("sh") - if err != nil { - t.Fatal("sh: ", err) - } - cmd, err := Run(sh, []string{"sh", "-c", "echo hello world 1>&2"}, nil, "", + cmd, err := run([]string{"sh", "-c", "echo hello world 1>&2"}, DevNull, DevNull, Pipe) if err != nil { t.Fatal("run:", err) @@ -80,11 +80,7 @@ func TestStderr(t *testing.T) { } func TestMergeWithStdout(t *testing.T) { - sh, err := LookPath("sh") - if err != nil { - t.Fatal("sh: ", err) - } - cmd, err := Run(sh, []string{"sh", "-c", "echo hello world 1>&2"}, nil, "", + cmd, err := run([]string{"sh", "-c", "echo hello world 1>&2"}, DevNull, Pipe, MergeWithStdout) if err != nil { t.Fatal("run:", err) @@ -106,11 +102,7 @@ func TestAddEnvVar(t *testing.T) { if err != nil { t.Fatal("setenv:", err) } - sh, err := LookPath("sh") - if err != nil { - t.Fatal("sh: ", err) - } - cmd, err := Run(sh, []string{"sh", "-c", "echo $NEWVAR"}, nil, "", + cmd, err := run([]string{"sh", "-c", "echo $NEWVAR"}, DevNull, Pipe, DevNull) if err != nil { t.Fatal("run:", err) |