adding test for param puNumHeaps and puvmList in NtGdiDdQueryDirectDrawObject test
authorMagnus Olsen <magnus@greatlord.com>
Sun, 13 Apr 2008 17:02:33 +0000 (17:02 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Sun, 13 Apr 2008 17:02:33 +0000 (17:02 +0000)
only param puNumFourCC, puFourCC left to add test for.

svn path=/trunk/; revision=32944

rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c

index 1cd799a..71a4e4a 100644 (file)
@@ -32,7 +32,7 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
     DD_D3DBUFCALLBACKS oldD3dBufferCallbacks;\r
 \r
     DDSURFACEDESC2 D3dTextureFormats[100];\r
-    //DWORD NumHeaps = 0;\r
+    DWORD NumHeaps = 0;\r
     VIDEOMEMORY vmList;\r
     //DWORD NumFourCC = 0;\r
     //DWORD FourCC = 0;\r
@@ -639,12 +639,142 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
     }\r
      \r
 \r
+    /* testing  NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, NULL, */ \r
+    pHalInfo = &HalInfo;\r
+    pCallBackFlags = CallBackFlags;\r
+    puD3dCallbacks = &D3dCallbacks;\r
+    puD3dDriverData = &D3dDriverData;\r
+    puD3dBufferCallbacks = &D3dBufferCallbacks;\r
+    puNumHeaps = &NumHeaps;\r
+    \r
+    if (puD3dDriverData->dwNumTextureFormats != 0)\r
+    {\r
+        RtlZeroMemory(puD3dTextureFormats, puD3dDriverData->dwNumTextureFormats * sizeof(DDSURFACEDESC2));\r
+    }    \r
+    RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+    RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);\r
+    RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));\r
+    RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_GLOBALDRIVERDATA));\r
+    RtlZeroMemory(&D3dBufferCallbacks,sizeof(DD_D3DBUFCALLBACKS));\r
+\r
+    RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,\r
+                                        pCallBackFlags, puD3dCallbacks,\r
+                                        puD3dDriverData, puD3dBufferCallbacks,\r
+                                        puD3dTextureFormats, puNumHeaps,\r
+                                        puvmList, puNumFourCC,\r
+                                        puFourCC)== FALSE);\r
+\r
+    RTEST(pHalInfo != NULL);\r
+    ASSERT(pHalInfo != NULL);\r
+\r
+    RTEST(pCallBackFlags != NULL);\r
+    ASSERT(pCallBackFlags != NULL);\r
+\r
+    RTEST(puD3dCallbacks != NULL);\r
+    ASSERT(puD3dCallbacks != NULL);\r
+\r
+    RTEST(puD3dDriverData != NULL);\r
+    ASSERT(puD3dDriverData != NULL);\r
+\r
+    RTEST(puD3dBufferCallbacks != NULL);\r
+    ASSERT(puD3dDriverData != NULL);\r
+\r
+    RTEST(puD3dTextureFormats != NULL);\r
+    ASSERT(puD3dTextureFormats != NULL);\r
+    \r
+    RTEST(puNumHeaps != NULL);\r
+    ASSERT(puNumHeaps != NULL);\r
+    RTEST(NumHeaps == 0);\r
+\r
+    RTEST(puNumFourCC == NULL);\r
+    RTEST(puFourCC == NULL);\r
+    \r
+    RTEST(puvmList == NULL);\r
+\r
+    /* We retesting the flags */    \r
+    RTEST(pCallBackFlags[0] != 0);\r
+    RTEST(pCallBackFlags[1] != 0);\r
+    RTEST(pCallBackFlags[2] == 0);\r
+\r
+    /* We do not retesting instead we compare it */\r
+    RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+    RTEST(memcmp(&oldD3dCallbacks, puD3dCallbacks, sizeof(D3DNTHAL_CALLBACKS)) == 0);\r
+    RTEST(memcmp(&oldD3dDriverData, puD3dDriverData, sizeof(D3DNTHAL_GLOBALDRIVERDATA)) == 0);\r
+    RTEST(memcmp(&oldD3dBufferCallbacks, puD3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS)) == 0);\r
+    /* we skip resting texture */\r
+\r
+\r
+    /* testing  NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, NULL, */ \r
+    pHalInfo = &HalInfo;\r
+    pCallBackFlags = CallBackFlags;\r
+    puD3dCallbacks = &D3dCallbacks;\r
+    puD3dDriverData = &D3dDriverData;\r
+    puD3dBufferCallbacks = &D3dBufferCallbacks;\r
+    puNumHeaps = &NumHeaps;\r
+    puvmList = &vmList;\r
+    \r
+    if (puD3dDriverData->dwNumTextureFormats != 0)\r
+    {\r
+        RtlZeroMemory(puD3dTextureFormats, puD3dDriverData->dwNumTextureFormats * sizeof(DDSURFACEDESC2));\r
+    }    \r
+    RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+    RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);\r
+    RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));\r
+    RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_GLOBALDRIVERDATA));\r
+    RtlZeroMemory(&D3dBufferCallbacks,sizeof(DD_D3DBUFCALLBACKS));\r
+\r
+    RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,\r
+                                        pCallBackFlags, puD3dCallbacks,\r
+                                        puD3dDriverData, puD3dBufferCallbacks,\r
+                                        puD3dTextureFormats, puNumHeaps,\r
+                                        puvmList, puNumFourCC,\r
+                                        puFourCC)== FALSE);\r
+\r
+    RTEST(pHalInfo != NULL);\r
+    ASSERT(pHalInfo != NULL);\r
+\r
+    RTEST(pCallBackFlags != NULL);\r
+    ASSERT(pCallBackFlags != NULL);\r
+\r
+    RTEST(puD3dCallbacks != NULL);\r
+    ASSERT(puD3dCallbacks != NULL);\r
+\r
+    RTEST(puD3dDriverData != NULL);\r
+    ASSERT(puD3dDriverData != NULL);\r
+\r
+    RTEST(puD3dBufferCallbacks != NULL);\r
+    ASSERT(puD3dDriverData != NULL);\r
+\r
+    RTEST(puD3dTextureFormats != NULL);\r
+    ASSERT(puD3dTextureFormats != NULL);\r
+    \r
+    RTEST(puNumHeaps != NULL);\r
+    ASSERT(puNumHeaps != NULL);\r
+    RTEST(NumHeaps == 0);\r
+\r
+    RTEST(puvmList != NULL);    \r
+\r
+    RTEST(puNumFourCC == NULL);\r
+    RTEST(puFourCC == NULL);\r
+    \r
+    \r
+\r
+    /* We retesting the flags */    \r
+    RTEST(pCallBackFlags[0] != 0);\r
+    RTEST(pCallBackFlags[1] != 0);\r
+    RTEST(pCallBackFlags[2] == 0);\r
+\r
+    /* We do not retesting instead we compare it */\r
+    RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+    RTEST(memcmp(&oldD3dCallbacks, puD3dCallbacks, sizeof(D3DNTHAL_CALLBACKS)) == 0);\r
+    RTEST(memcmp(&oldD3dDriverData, puD3dDriverData, sizeof(D3DNTHAL_GLOBALDRIVERDATA)) == 0);\r
+    RTEST(memcmp(&oldD3dBufferCallbacks, puD3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS)) == 0);\r
+    /* we skip resting texture */\r
+\r
     /* Todo\r
     * adding test for   \r
     * puNumFourCC\r
     * puFourCC\r
-    * puNumHeaps\r
-    * puvmList\r
     */\r
 \r
     /* Cleanup ReactX setup */\r