Commit 4da80515 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

net: skip Windows test using getmac if getmac cmdlet not available

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/41395Reviewed-by: default avatarAlex Brainman <alex.brainman@gmail.com>
parent f9be63b9
......@@ -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 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment