]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty()
authorSimon Rozman <simon@rozman.si>
Thu, 7 Feb 2019 17:49:21 +0000 (18:49 +0100)
committerSimon Rozman <simon@rozman.si>
Thu, 7 Feb 2019 17:59:34 +0000 (18:59 +0100)
Signed-off-by: Simon Rozman <simon@rozman.si>
tun/wintun/setupapi/setupapi_windows_test.go

index e6b00c936b1e1dad5de2655ca1f2b93c77ce395a..16d2603f75e68532e21e73f5edd320087b794362 100644 (file)
@@ -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 {