From 92a9a445ddf2a43e69fd5db1322d674b8203a892 Mon Sep 17 00:00:00 2001 From: Serge Gautherie Date: Fri, 21 Sep 2018 00:58:14 +0200 Subject: [PATCH 1/1] [WIN32KNT_APITEST:NTDD] Improve failure handling And remove comments about ReactX. ROSTESTS-315 --- .../ntdd/NtGdiDdCreateDirectDrawObject.c | 31 +++++++++++++---- .../ntdd/NtGdiDdDeleteDirectDrawObject.c | 33 ++++++++++++++----- .../ntdd/NtGdiDdQueryDirectDrawObject.c | 26 +++++++-------- 3 files changed, 62 insertions(+), 28 deletions(-) diff --git a/modules/rostests/apitests/win32nt/ntdd/NtGdiDdCreateDirectDrawObject.c b/modules/rostests/apitests/win32nt/ntdd/NtGdiDdCreateDirectDrawObject.c index eb07b83d64b..4e0f5c8ec4f 100644 --- a/modules/rostests/apitests/win32nt/ntdd/NtGdiDdCreateDirectDrawObject.c +++ b/modules/rostests/apitests/win32nt/ntdd/NtGdiDdCreateDirectDrawObject.c @@ -11,13 +11,30 @@ START_TEST(NtGdiDdCreateDirectDrawObject) { HANDLE hDirectDraw; HDC hdc = CreateDCW(L"DISPLAY", NULL, NULL, NULL); - ok(hdc != NULL, "\n"); + ok(hdc != NULL, "CreateDCW() failed\n"); - /* Test ReactX */ - ok(NtGdiDdCreateDirectDrawObject(NULL) == NULL, "\n"); - ok((hDirectDraw = NtGdiDdCreateDirectDrawObject(hdc)) != NULL, "\n"); + hDirectDraw = NtGdiDdCreateDirectDrawObject(NULL); + ok(hDirectDraw == NULL, + "NtGdiDdCreateDirectDrawObject() succeeded on NULL device context\n"); + if (hDirectDraw != NULL) + { + ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE, + "NtGdiDdDeleteDirectDrawObject() failed on unwanted object\n"); + } - /* Cleanup ReactX setup */ - DeleteDC(hdc); - NtGdiDdDeleteDirectDrawObject(hDirectDraw); + if (hdc == NULL) + { + skip("No DC\n"); + return; + } + + hDirectDraw = NtGdiDdCreateDirectDrawObject(hdc); + ok(hDirectDraw != NULL, "NtGdiDdCreateDirectDrawObject() failed\n"); + if (hDirectDraw != NULL) + { + ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE, + "NtGdiDdDeleteDirectDrawObject() failed\n"); + } + + ok(DeleteDC(hdc) != 0, "DeleteDC() failed\n"); } diff --git a/modules/rostests/apitests/win32nt/ntdd/NtGdiDdDeleteDirectDrawObject.c b/modules/rostests/apitests/win32nt/ntdd/NtGdiDdDeleteDirectDrawObject.c index 00ee1f57c52..78d1af7a325 100644 --- a/modules/rostests/apitests/win32nt/ntdd/NtGdiDdDeleteDirectDrawObject.c +++ b/modules/rostests/apitests/win32nt/ntdd/NtGdiDdDeleteDirectDrawObject.c @@ -11,14 +11,31 @@ START_TEST(NtGdiDdDeleteDirectDrawObject) { HANDLE hDirectDraw; HDC hdc = CreateDCW(L"DISPLAY", NULL, NULL, NULL); - ok(hdc != NULL, "\n"); + ok(hdc != NULL, "CreateDCW() failed\n"); - /* Test ReactX */ - ok(NtGdiDdDeleteDirectDrawObject(NULL) == FALSE, "\n"); - ok((hDirectDraw=NtGdiDdCreateDirectDrawObject(hdc)) != NULL, "\n"); - ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE, "\n"); + ok(NtGdiDdDeleteDirectDrawObject(NULL) == FALSE, + "NtGdiDdDeleteDirectDrawObject() succeeded on NULL object\n"); - /* Cleanup ReactX setup */ - DeleteDC(hdc); - NtGdiDdDeleteDirectDrawObject(hDirectDraw); + if (hdc == NULL) + { + skip("No DC\n"); + return; + } + + hDirectDraw = NtGdiDdCreateDirectDrawObject(hdc); + ok(hDirectDraw != NULL, "NtGdiDdCreateDirectDrawObject() failed\n"); + + if (hDirectDraw == NULL) + { + skip("No DirectDrawObject\n"); + ok(DeleteDC(hdc) != 0, "DeleteDC() failed\n"); + return; + } + + ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE, + "NtGdiDdDeleteDirectDrawObject() failed on existing object\n"); + ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == FALSE, + "NtGdiDdDeleteDirectDrawObject() succeeded on deleted object\n"); + + ok(DeleteDC(hdc) != 0, "DeleteDC() failed\n"); } diff --git a/modules/rostests/apitests/win32nt/ntdd/NtGdiDdQueryDirectDrawObject.c b/modules/rostests/apitests/win32nt/ntdd/NtGdiDdQueryDirectDrawObject.c index ab3fb14b59b..e682b7d25fe 100644 --- a/modules/rostests/apitests/win32nt/ntdd/NtGdiDdQueryDirectDrawObject.c +++ b/modules/rostests/apitests/win32nt/ntdd/NtGdiDdQueryDirectDrawObject.c @@ -15,7 +15,7 @@ */ START_TEST(NtGdiDdQueryDirectDrawObject) { - HANDLE hDirectDraw = NULL; + HANDLE hDirectDraw; DD_HALINFO *pHalInfo = NULL; DWORD *pCallBackFlags = NULL; LPD3DNTHAL_CALLBACKS puD3dCallbacks = NULL; @@ -68,16 +68,8 @@ START_TEST(NtGdiDdQueryDirectDrawObject) ASSERT(hdc != NULL); - /* Create ReactX handle */ - hDirectDraw = (HANDLE) NtGdiDdCreateDirectDrawObject(hdc); + hDirectDraw = NtGdiDdCreateDirectDrawObject(hdc); RTEST(hDirectDraw != NULL); - if (hDirectDraw == NULL) - { - DeleteDC(hdc); - return; - } - - /* Start Test ReactX NtGdiDdQueryDirectDrawObject function */ /* testing OsThunkDdQueryDirectDrawObject( NULL, .... */ RTEST(NtGdiDdQueryDirectDrawObject( NULL, pHalInfo, @@ -98,6 +90,13 @@ START_TEST(NtGdiDdQueryDirectDrawObject) RTEST(puNumHeaps == NULL); RTEST(puvmList == NULL); + if (hDirectDraw == NULL) + { + skip("No DirectDrawObject\n"); + ok(DeleteDC(hdc) != 0, "DeleteDC() failed\n"); + return; + } + /* testing NtGdiDdQueryDirectDrawObject( hDirectDrawLocal, NULL, .... */ RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo, pCallBackFlags, puD3dCallbacks, @@ -797,7 +796,8 @@ START_TEST(NtGdiDdQueryDirectDrawObject) * puFourCC */ - /* Cleanup ReactX setup */ - DeleteDC(hdc); - NtGdiDdDeleteDirectDrawObject(hDirectDraw); + ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE, + "NtGdiDdDeleteDirectDrawObject() failed\n"); + + ok(DeleteDC(hdc) != 0, "DeleteDC() failed\n"); } -- 2.17.1