[PATCH 1/3] xinput1_3/tests: Test the GUIDs returned from XInputGetDSoundAudioDeviceGuids

Bruno Jesus 00cpxxx at gmail.com
Tue Dec 6 08:52:32 CST 2016


Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
---
 dlls/xinput1_3/tests/xinput.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/dlls/xinput1_3/tests/xinput.c b/dlls/xinput1_3/tests/xinput.c
index 17884e1..25126be 100644
--- a/dlls/xinput1_3/tests/xinput.c
+++ b/dlls/xinput1_3/tests/xinput.c
@@ -175,18 +175,31 @@ static void test_get_dsoundaudiodevice(void)
 {
     DWORD controllerNum;
     DWORD result;
-    GUID soundRender;
-    GUID soundCapture;
+    GUID soundRender, soundCapture;
+    GUID testGuid = {0xFFFFFFFF, 0xFFFF, 0xFFFF, {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}};
+    GUID emptyGuid = {0x0, 0x0, 0x0, {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}};
 
     for(controllerNum=0; controllerNum < XUSER_MAX_COUNT; controllerNum++)
     {
+        soundRender = soundCapture = testGuid;
         result = pXInputGetDSoundAudioDeviceGuids(controllerNum, &soundRender, &soundCapture);
         ok(result == ERROR_SUCCESS || result == ERROR_DEVICE_NOT_CONNECTED, "XInputGetDSoundAudioDeviceGuids failed with (%d)\n", result);
 
         if (ERROR_DEVICE_NOT_CONNECTED == result)
         {
             skip("Controller %d is not connected\n", controllerNum);
+            continue;
         }
+
+        if (!IsEqualGUID(&soundRender, &emptyGuid))
+            ok(!IsEqualGUID(&soundRender, &testGuid), "Broken GUID returned for sound render device\n");
+        else
+            trace("Headset phone not attached\n");
+
+        if (!IsEqualGUID(&soundCapture, &emptyGuid))
+            ok(!IsEqualGUID(&soundCapture, &testGuid), "Broken GUID returned for sound capture device\n");
+        else
+            trace("Headset microphone not attached\n");
     }
 
     result = pXInputGetDSoundAudioDeviceGuids(XUSER_MAX_COUNT+1, &soundRender, &soundCapture);
-- 
2.9.3




More information about the wine-patches mailing list