diff options
| author | Ian Lance Taylor <iant@golang.org> | 2023-09-04 10:35:13 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-09-05 22:34:26 +0000 |
| commit | a8191789153dcc76abb6a4d3cd4e56e2d68c2430 (patch) | |
| tree | 9144776acfb7f0e437511fba9787354653ac2cdf /src | |
| parent | 972cc3e7c2c0a14fe2c88fc4264f293fc045745f (diff) | |
| download | go-a8191789153dcc76abb6a4d3cd4e56e2d68c2430.tar.xz | |
os: don't invoke shell in TestStatStdin
Change-Id: I4048caffd4f79e3ffb6a0a3770bdfa830d1a2f35
Reviewed-on: https://go-review.googlesource.com/c/go/+/525515
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/os/os_test.go | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/os/os_test.go b/src/os/os_test.go index a9de3f1014..c5776a9f29 100644 --- a/src/os/os_test.go +++ b/src/os/os_test.go @@ -2374,6 +2374,11 @@ func TestStatStdin(t *testing.T) { Exit(0) } + exe, err := Executable() + if err != nil { + t.Skipf("can't find executable: %v", err) + } + testenv.MustHaveExec(t) t.Parallel() @@ -2388,13 +2393,11 @@ func TestStatStdin(t *testing.T) { t.Fatalf("unexpected Stdin mode (%v), want ModeCharDevice or ModeNamedPipe", mode) } - var cmd *exec.Cmd - if runtime.GOOS == "windows" { - cmd = testenv.Command(t, "cmd", "/c", "echo output | "+Args[0]+" -test.run=TestStatStdin") - } else { - cmd = testenv.Command(t, "/bin/sh", "-c", "echo output | "+Args[0]+" -test.run=TestStatStdin") - } - cmd.Env = append(Environ(), "GO_WANT_HELPER_PROCESS=1") + cmd := testenv.Command(t, exe, "-test.run=^TestStatStdin$") + cmd = testenv.CleanCmdEnv(cmd) + cmd.Env = append(cmd.Env, "GO_WANT_HELPER_PROCESS=1") + // This will make standard input a pipe. + cmd.Stdin = strings.NewReader("output") output, err := cmd.CombinedOutput() if err != nil { |
