From f7276ed522dd31ef427ec939ed2dc3af32071974 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Thu, 7 Feb 2019 18:49:21 +0100 Subject: wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty() Signed-off-by: Simon Rozman --- tun/wintun/setupapi/setupapi_windows_test.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tun/wintun/setupapi/setupapi_windows_test.go b/tun/wintun/setupapi/setupapi_windows_test.go index e6b00c9..16d2603 100644 --- a/tun/wintun/setupapi/setupapi_windows_test.go +++ b/tun/wintun/setupapi/setupapi_windows_test.go @@ -10,6 +10,7 @@ import ( "syscall" "testing" + "git.zx2c4.com/wireguard-go/tun/wintun/guid" "golang.org/x/sys/windows" ) @@ -302,9 +303,16 @@ func TestSetupDiGetDeviceRegistryProperty(t *testing.T) { val, err = devInfoList.GetDeviceRegistryProperty(data, SPDRP_CLASSGUID) if err != nil { t.Errorf("Error calling SetupDiGetDeviceRegistryProperty(SPDRP_CLASSGUID): %s", err.Error()) - } /* TODO: Parse GUID string: else if classGUID, ok := val.(string); !ok || parseGUID(classGUID) != deviceClassNetGUID { - t.Errorf("SetupDiGetDeviceRegistryProperty(SPDRP_CLASSGUID) should return %x", deviceClassNetGUID) - }*/ + } else if valStr, ok := val.(string); !ok { + t.Errorf("SetupDiGetDeviceRegistryProperty(SPDRP_CLASSGUID) should return string") + } else { + classGUID, err := guid.FromString(valStr) + if err != nil { + t.Errorf("Error parsing GUID returned by SetupDiGetDeviceRegistryProperty(SPDRP_CLASSGUID): %s", err.Error()) + } else if *classGUID != deviceClassNetGUID { + t.Errorf("SetupDiGetDeviceRegistryProperty(SPDRP_CLASSGUID) should return %x", deviceClassNetGUID) + } + } val, err = devInfoList.GetDeviceRegistryProperty(data, SPDRP_COMPATIBLEIDS) if err != nil { -- cgit v1.2.3-59-g8ed1b