syscall: append to environment in tests, don't clobber it
authorIan Lance Taylor <iant@golang.org>
Mon, 11 May 2020 23:23:44 +0000 (16:23 -0700)
committerIan Lance Taylor <iant@golang.org>
Tue, 12 May 2020 00:27:46 +0000 (17:27 -0700)
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

gcc/go/gofrontend/MERGE
libgo/go/syscall/syscall_linux_test.go

index 428b329382b30b0a37448034fdca1479a898c2e1..939ba7c892933cb635dd66e70992ad0e4273d13b 100644 (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.
index 97059c87d3dd4b708c0d056dd6057d43ccdf9864..c12df4cf5c7c04fb00c239271ed70e4b2108a8e4 100644 (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 {