syscall: append to environment in tests, don't clobber it

This is a partial backport of https://golang.org/cl/233318.
It's only a partial backport because part of the change was
already applied to libgo in CL 193497 as part of the update
to the Go 1.13beta1 release.

Fixes PR go/95061

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/233359
This commit is contained in:
Ian Lance Taylor 2020-05-11 16:23:44 -07:00
parent b58c5e0c73
commit 4f157ed774
2 changed files with 7 additions and 4 deletions

View file

@ -1,4 +1,4 @@
41019d50ae519328dd3cf200815a2a2b0b64674e
8645632618262d1661ece0c9e6fe9e04c6e3a878
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View file

@ -187,7 +187,7 @@ func TestLinuxDeathSignal(t *testing.T) {
}
cmd := exec.Command(tmpBinary)
cmd.Env = []string{"GO_DEATHSIG_PARENT=1"}
cmd.Env = append(os.Environ(), "GO_DEATHSIG_PARENT=1")
chldStdin, err := cmd.StdinPipe()
if err != nil {
t.Fatalf("failed to create new stdin pipe: %v", err)
@ -225,7 +225,10 @@ func TestLinuxDeathSignal(t *testing.T) {
func deathSignalParent() {
cmd := exec.Command(os.Args[0])
cmd.Env = []string{"GO_DEATHSIG_CHILD=1"}
cmd.Env = append(os.Environ(),
"GO_DEATHSIG_PARENT=",
"GO_DEATHSIG_CHILD=1",
)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
attrs := syscall.SysProcAttr{
@ -360,7 +363,7 @@ func TestSyscallNoError(t *testing.T) {
}
cmd := exec.Command(tmpBinary)
cmd.Env = []string{"GO_SYSCALL_NOERROR=1"}
cmd.Env = append(os.Environ(), "GO_SYSCALL_NOERROR=1")
out, err := cmd.CombinedOutput()
if err != nil {