aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2023-09-04 10:35:13 -0700
committerGopher Robot <gobot@golang.org>2023-09-05 22:34:26 +0000
commita8191789153dcc76abb6a4d3cd4e56e2d68c2430 (patch)
tree9144776acfb7f0e437511fba9787354653ac2cdf /src
parent972cc3e7c2c0a14fe2c88fc4264f293fc045745f (diff)
downloadgo-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.go17
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 {