]> Cypherpunks repositories - gostls13.git/commitdiff
path/filepath: fix TestWinSplitListTestsAreValid on some systems
authorRemi Gillig <remigillig@gmail.com>
Sat, 11 Feb 2017 17:34:48 +0000 (17:34 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Sat, 11 Feb 2017 19:53:56 +0000 (19:53 +0000)
The environment variables used in those tests override the default
OS ones. However, one of them (SystemRoot) seems to be required on
some Windows systems for invoking cmd.exe properly.

This fixes #4930 and #6568.

Change-Id: I23dfb67c1de86020711a3b59513f6adcbba12561
Reviewed-on: https://go-review.googlesource.com/36873
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/path/filepath/path_windows_test.go

index 73e74be8d3f006402e1dbccc05f276fc80ee8fb4..c9a0255efdc8c5fb7e58a47ab1a26c2aa208fdd7 100644 (file)
@@ -67,6 +67,9 @@ func testWinSplitListTestIsValid(t *testing.T, ti int, tt SplitListTest,
                }
        }
 
+       // on some systems, SystemRoot is required for cmd to work
+       systemRoot := os.Getenv("SystemRoot")
+
        for i, d := range tt.result {
                if d == "" {
                        continue
@@ -75,7 +78,7 @@ func testWinSplitListTestIsValid(t *testing.T, ti int, tt SplitListTest,
                cmd := &exec.Cmd{
                        Path: comspec,
                        Args: []string{`/c`, cmdfile},
-                       Env:  []string{`Path=` + tt.list},
+                       Env:  []string{`Path=` + tt.list, `SystemRoot=` + systemRoot},
                        Dir:  tmp,
                }
                out, err := cmd.CombinedOutput()