mirror of
https://github.com/golang/go
synced 2024-11-18 08:14:41 -07:00
os/exec: preserve the process environment when invoking TestHelperProcess
Also log errors from the lsof command on failure. (That's how the missing environment was discovered.) Updates #25628 Change-Id: I71594f60c15d0d254d5d4a86deec7431314c92ff Reviewed-on: https://go-review.googlesource.com/c/go/+/201717 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
86235ec2bf
commit
00ea8e1c67
@ -40,7 +40,7 @@ func helperCommandContext(t *testing.T, ctx context.Context, s ...string) (cmd *
|
||||
} else {
|
||||
cmd = exec.Command(os.Args[0], cs...)
|
||||
}
|
||||
cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"}
|
||||
cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
|
||||
return cmd
|
||||
}
|
||||
|
||||
@ -656,7 +656,7 @@ func TestExtraFiles(t *testing.T) {
|
||||
c.ExtraFiles = []*os.File{tf}
|
||||
err = c.Run()
|
||||
if err != nil {
|
||||
t.Fatalf("Run: %v; stdout %q, stderr %q", err, stdout.Bytes(), stderr.Bytes())
|
||||
t.Fatalf("Run: %v\n--- stdout:\n%s--- stderr:\n%s", err, stdout.Bytes(), stderr.Bytes())
|
||||
}
|
||||
if stdout.String() != text {
|
||||
t.Errorf("got stdout %q, stderr %q; want %q on stdout", stdout.String(), stderr.String(), text)
|
||||
@ -861,8 +861,12 @@ func TestHelperProcess(*testing.T) {
|
||||
default:
|
||||
args = []string{"-p", fmt.Sprint(os.Getpid())}
|
||||
}
|
||||
out, _ := exec.Command(ofcmd, args...).CombinedOutput()
|
||||
fmt.Print(string(out))
|
||||
cmd := exec.Command(ofcmd, args...)
|
||||
out, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%s failed: %v\n", strings.Join(cmd.Args, " "), err)
|
||||
}
|
||||
fmt.Printf("%s", out)
|
||||
os.Exit(1)
|
||||
}
|
||||
files = append(files, f)
|
||||
|
Loading…
Reference in New Issue
Block a user