mirror of https://github.com/golang/go.git
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/41395 Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
This commit is contained in:
parent
f9be63b9ba
commit
4da8051592
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue