]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.8] net: skip Windows test using getmac if getmac cmdlet not available
authorBrad Fitzpatrick <bradfitz@golang.org>
Fri, 21 Apr 2017 20:43:08 +0000 (20:43 +0000)
committerRuss Cox <rsc@golang.org>
Wed, 25 Oct 2017 18:56:37 +0000 (18:56 +0000)
This doesn't appear to be present on Windows Server 2012 or 2016:

https://build.golang.org/log/6ea21b99c9b8a2be20f9aeaec6c425b84faf1af7
https://build.golang.org/log/2bcf04f1df003577352f4f987a39a59a081094ee

Updates golang/go#17513
Updates golang/go#20073

Change-Id: I72820704b4cb16bb1720b7f6a9f2e10028c71334
Reviewed-on: https://go-review.googlesource.com/41395
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-on: https://go-review.googlesource.com/70845
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/net_windows_test.go

index 38edbc29ab679172e567ba6a7f883511b9c328a5..a8daa3f7db8a432160f6d9b59be835c7d44dbd2c 100644 (file)
@@ -503,21 +503,26 @@ func TestInterfaceAddrsWithNetsh(t *testing.T) {
        }
 }
 
-func getmacSpeaksEnglish(t *testing.T) bool {
+// check that getmac exists as a powershell command, and that it
+// speaks English.
+func checkGetmac(t *testing.T) {
        out, err := runCmd("getmac", "/?")
        if err != nil {
+               if strings.Contains(err.Error(), "term 'getmac' is not recognized as the name of a cmdlet") {
+                       t.Skipf("getmac not available")
+               }
                t.Fatal(err)
        }
-       return bytes.Contains(out, []byte("network adapters on a system"))
+       if !bytes.Contains(out, []byte("network adapters on a system")) {
+               t.Skipf("skipping test on non-English system")
+       }
 }
 
 func TestInterfaceHardwareAddrWithGetmac(t *testing.T) {
        if isWindowsXP(t) {
                t.Skip("Windows XP does not have powershell command")
        }
-       if !getmacSpeaksEnglish(t) {
-               t.Skip("English version of getmac required for this test")
-       }
+       checkGetmac(t)
 
        ift, err := Interfaces()
        if err != nil {