From 0b547ee750f7fb5dfc61a7f66e73511ca03726b8 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 6 Mar 2014 11:06:06 +0100 Subject: [PATCH] ddraw/tests: Verify that creating a ddraw object works before running any real tests. --- dlls/ddraw/tests/ddraw1.c | 272 +++++++++---------------------- dlls/ddraw/tests/ddraw2.c | 335 +++++++++++--------------------------- dlls/ddraw/tests/ddraw4.c | 254 +++++++++-------------------- dlls/ddraw/tests/ddraw7.c | 244 ++++++++------------------- 4 files changed, 320 insertions(+), 785 deletions(-) diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index edf750e80a2..52f60af19a2 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -443,12 +443,8 @@ static void test_coop_level_create_device_window(void) focus_window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(focus_window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr); @@ -571,12 +567,8 @@ static void test_clipper_blt(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 10, 10, 640, 480, 0, 0, 0, 0); ShowWindow(window, SW_SHOW); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); ret = GetClientRect(window, &client_rect); ok(ret, "Failed to get client rect.\n"); @@ -739,12 +731,8 @@ static void test_coop_level_d3d_state(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -815,13 +803,8 @@ static void test_surface_interface_mismatch(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - goto cleanup; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -904,11 +887,8 @@ static void test_coop_level_threaded(void) IDirectDraw *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); create_window_thread(&p); hr = IDirectDraw_SetCooperativeLevel(ddraw, p.window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); @@ -938,13 +918,10 @@ static void test_viewport(void) IDirect3DDevice *device; HWND window; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1070,12 +1047,8 @@ static void test_zenable(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1195,12 +1168,8 @@ static void test_ck_rgba(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1362,13 +1331,8 @@ static void test_ck_default(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1522,14 +1486,10 @@ static void test_ck_complex(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1753,12 +1713,8 @@ static void test_surface_qi(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); /* Try to create a D3D device to see if the ddraw implementation supports * D3D. 64-bit ddraw in particular doesn't seem to support D3D, and * doesn't support e.g. the IDirect3DTexture interfaces. */ @@ -1842,12 +1798,8 @@ static void test_device_qi(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1884,11 +1836,8 @@ static void test_wndproc(void) }; /* DDSCL_EXCLUSIVE replaces the window's window proc. */ - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -2001,12 +1950,8 @@ static void test_window_style(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); style = GetWindowLongA(window, GWL_STYLE); exstyle = GetWindowLongA(window, GWL_EXSTYLE); @@ -2052,12 +1997,8 @@ static void test_redundant_mode_set(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); @@ -2133,11 +2074,8 @@ static void test_coop_level_mode_set(void) 0, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = mode_set_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -2567,14 +2505,10 @@ static void test_coop_level_mode_set_multi(void) HRESULT hr; ULONG ref; - if (!(ddraw1 = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ddraw1 = create_ddraw(); + ok(!!ddraw1, "Failed to create a ddraw object.\n"); orig_w = GetSystemMetrics(SM_CXSCREEN); orig_h = GetSystemMetrics(SM_CYSCREEN); @@ -2763,11 +2697,8 @@ static void test_initialize(void) IDirect3D *d3d; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_Initialize(ddraw, NULL); ok(hr == DDERR_ALREADYINITIALIZED, "Initialize returned hr %#x.\n", hr); @@ -2809,11 +2740,8 @@ static void test_coop_level_surf_create(void) DDSURFACEDESC ddsd; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); @@ -2835,13 +2763,8 @@ static void test_coop_level_multi_window(void) 0, 0, 640, 480, 0, 0, 0, 0); window2 = CreateWindowA("static", "ddraw_test2", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window2); - DestroyWindow(window1); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window1, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -2869,12 +2792,8 @@ static void test_clear_rect_count(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -2955,11 +2874,8 @@ static void test_coop_level_activateapp(void) DDSURFACEDESC ddsd; IDirectDrawSurface *surface; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = activateapp_test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -3113,12 +3029,8 @@ static void test_unsupported_formats(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -3352,14 +3264,10 @@ static void test_rt_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -3555,14 +3463,10 @@ static void test_primary_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i) { @@ -3645,14 +3549,10 @@ static void test_surface_lock(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -3727,12 +3627,8 @@ static void test_surface_discard(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -3812,14 +3708,10 @@ static void test_flip(void) DDBLTFX fx; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = set_display_mode(ddraw, 640, 480); ok(SUCCEEDED(hr), "Failed to set display mode, hr %#x.\n", hr); @@ -3994,14 +3886,10 @@ static void test_sysmem_overlay(void) IDirectDrawSurface *surface; ULONG ref; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4039,18 +3927,13 @@ static void test_primary_palette(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - hr = IDirectDraw_SetDisplayMode(ddraw, 640, 480, 8); - if (hr == E_NOTIMPL) + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + if (FAILED(hr = IDirectDraw_SetDisplayMode(ddraw, 640, 480, 8))) { - win_skip("changing display mode is not supported (8bpp)\n"); + win_skip("Failed to set 8 bpp display mode, skipping test.\n"); IDirectDraw_Release(ddraw); DestroyWindow(window); return; @@ -4151,14 +4034,10 @@ static void test_surface_attachment(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4447,11 +4326,7 @@ static void test_pixel_format(void) } ddraw = create_ddraw(); - if (!ddraw) - { - skip("Failed to create ddraw object\n"); - goto cleanup; - } + ok(!!ddraw, "Failed to create a ddraw object.\n"); test_format = GetPixelFormat(hdc); ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format); @@ -4577,14 +4452,10 @@ static void test_create_surface_pitch(void) }; DWORD flags_mask = DDSD_PITCH | DDSD_LPSURFACE; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4634,6 +4505,15 @@ static void test_create_surface_pitch(void) START_TEST(ddraw1) { + IDirectDraw *ddraw; + + if (!(ddraw = create_ddraw())) + { + skip("Failed to create a ddraw object, skipping tests.\n"); + return; + } + IDirectDraw_Release(ddraw); + test_coop_level_create_device_window(); test_clipper_blt(); test_coop_level_d3d_state(); diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 26262117376..53c5a376dee 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -391,12 +391,8 @@ static void test_coop_level_create_device_window(void) focus_window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(focus_window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr); @@ -519,12 +515,8 @@ static void test_clipper_blt(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 10, 10, 640, 480, 0, 0, 0, 0); ShowWindow(window, SW_SHOW); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); ret = GetClientRect(window, &client_rect); ok(ret, "Failed to get client rect.\n"); @@ -688,12 +680,8 @@ static void test_coop_level_d3d_state(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -779,13 +767,8 @@ static void test_surface_interface_mismatch(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - goto cleanup; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -875,11 +858,8 @@ static void test_coop_level_threaded(void) IDirectDraw2 *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); create_window_thread(&p); hr = IDirectDraw2_SetCooperativeLevel(ddraw, p.window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); @@ -922,12 +902,8 @@ static void test_depth_blit(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1076,11 +1052,8 @@ static void test_texture_load_ckey(void) HRESULT hr; DDCOLORKEY ckey; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -1185,13 +1158,10 @@ static void test_viewport(void) IDirect3DDevice2 *device; HWND window; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1378,12 +1348,8 @@ static void test_zenable(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1483,12 +1449,8 @@ static void test_ck_rgba(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1625,13 +1587,8 @@ static void test_ck_default(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1733,14 +1690,10 @@ static void test_ck_complex(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -1964,12 +1917,8 @@ static void test_surface_qi(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); /* Try to create a D3D device to see if the ddraw implementation supports * D3D. 64-bit ddraw in particular doesn't seem to support D3D, and * doesn't support e.g. the IDirect3DTexture interfaces. */ @@ -2052,12 +2001,8 @@ static void test_device_qi(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -2094,11 +2039,8 @@ static void test_wndproc(void) }; /* DDSCL_EXCLUSIVE replaces the window's window proc. */ - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -2211,12 +2153,8 @@ static void test_window_style(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); style = GetWindowLongA(window, GWL_STYLE); exstyle = GetWindowLongA(window, GWL_EXSTYLE); @@ -2262,12 +2200,8 @@ static void test_redundant_mode_set(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); @@ -2354,11 +2288,9 @@ static void test_coop_level_mode_set(void) 0, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + wc.lpfnWndProc = mode_set_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; ok(RegisterClassA(&wc), "Failed to register window class.\n"); @@ -2881,14 +2813,10 @@ static void test_coop_level_mode_set_multi(void) HRESULT hr; ULONG ref; - if (!(ddraw1 = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ddraw1 = create_ddraw(); + ok(!!ddraw1, "Failed to create a ddraw object.\n"); orig_w = GetSystemMetrics(SM_CXSCREEN); orig_h = GetSystemMetrics(SM_CYSCREEN); @@ -3076,11 +3004,8 @@ static void test_initialize(void) IDirectDraw2 *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_Initialize(ddraw, NULL); ok(hr == DDERR_ALREADYINITIALIZED, "Initialize returned hr %#x.\n", hr); @@ -3104,11 +3029,8 @@ static void test_coop_level_surf_create(void) DDSURFACEDESC ddsd; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); @@ -3130,13 +3052,8 @@ static void test_coop_level_multi_window(void) 0, 0, 640, 480, 0, 0, 0, 0); window2 = CreateWindowA("static", "ddraw_test2", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window2); - DestroyWindow(window1); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window1, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -3164,12 +3081,8 @@ static void test_clear_rect_count(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -3257,8 +3170,8 @@ static void test_coop_level_versions(void) window = CreateWindowA("static", "ddraw_test1", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw2 = create_ddraw())) - goto done; + ddraw2 = create_ddraw(); + ok(!!ddraw2, "Failed to create a ddraw object.\n"); /* Newly created ddraw objects restore the mode on ddraw2+::SetCooperativeLevel(NORMAL) */ restored = test_mode_restored(ddraw2, window); ok(restored, "Display mode not restored in new ddraw object\n"); @@ -3281,8 +3194,8 @@ static void test_coop_level_versions(void) IDirectDraw_Release(ddraw); IDirectDraw2_Release(ddraw2); - if (!(ddraw2 = create_ddraw())) - goto done; + ddraw2 = create_ddraw(); + ok(!!ddraw2, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_QueryInterface(ddraw2, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3295,8 +3208,8 @@ static void test_coop_level_versions(void) IDirectDraw2_Release(ddraw2); /* A failing call does not restore the ddraw2+ behavior */ - if (!(ddraw2 = create_ddraw())) - goto done; + ddraw2 = create_ddraw(); + ok(!!ddraw2, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_QueryInterface(ddraw2, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3311,8 +3224,8 @@ static void test_coop_level_versions(void) IDirectDraw2_Release(ddraw2); /* Neither does a sequence of successful calls with the new interface */ - if (!(ddraw2 = create_ddraw())) - goto done; + ddraw2 = create_ddraw(); + ok(!!ddraw2, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_QueryInterface(ddraw2, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3329,8 +3242,8 @@ static void test_coop_level_versions(void) IDirectDraw2_Release(ddraw2); /* ddraw1::CreateSurface does not triger the ddraw1 behavior */ - if (!(ddraw2 = create_ddraw())) - goto done; + ddraw2 = create_ddraw(); + ok(!!ddraw2, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_QueryInterface(ddraw2, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3350,8 +3263,6 @@ static void test_coop_level_versions(void) IDirectDraw_Release(ddraw); IDirectDraw2_Release(ddraw2); - -done: DestroyWindow(window); } @@ -3436,12 +3347,8 @@ static void test_lighting_interface_versions(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -3553,11 +3460,8 @@ static void test_coop_level_activateapp(void) DDSURFACEDESC ddsd; IDirectDrawSurface *surface; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = activateapp_test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -3711,12 +3615,8 @@ static void test_unsupported_formats(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -3993,14 +3893,10 @@ static void test_rt_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -4261,14 +4157,10 @@ static void test_primary_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i) { @@ -4351,14 +4243,10 @@ static void test_surface_lock(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); if (!(device = create_device(ddraw, window, DDSCL_NORMAL))) { skip("Failed to create a 3D device, skipping test.\n"); @@ -4433,12 +4321,8 @@ static void test_surface_discard(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4518,14 +4402,10 @@ static void test_flip(void) DDBLTFX fx; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = set_display_mode(ddraw, 640, 480); ok(SUCCEEDED(hr), "Failed to set display mode, hr %#x.\n", hr); @@ -4721,15 +4601,10 @@ static void test_set_surface_desc(void) {DDSCAPS_PRIMARYSURFACE | DDSCAPS_SYSTEMMEMORY, FALSE, "systemmemory primary"}, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5020,14 +4895,10 @@ static void test_user_memory_getdc(void) HDC dc; unsigned int x, y; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5119,14 +4990,10 @@ static void test_sysmem_overlay(void) IDirectDrawSurface *surface; ULONG ref; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5163,18 +5030,13 @@ static void test_primary_palette(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - hr = IDirectDraw2_SetDisplayMode(ddraw, 640, 480, 8, 0, 0); - if (hr == E_NOTIMPL) + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + if (FAILED(hr = IDirectDraw2_SetDisplayMode(ddraw, 640, 480, 8, 0, 0))) { - win_skip("changing display mode is not supported (8bpp)\n"); + win_skip("Failed to set 8 bpp display mode, skipping test.\n"); IDirectDraw2_Release(ddraw); DestroyWindow(window); return; @@ -5275,14 +5137,10 @@ static void test_surface_attachment(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5571,11 +5429,7 @@ static void test_pixel_format(void) } ddraw = create_ddraw(); - if (!ddraw) - { - skip("Failed to create ddraw object\n"); - goto cleanup; - } + ok(!!ddraw, "Failed to create a ddraw object.\n"); test_format = GetPixelFormat(hdc); ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format); @@ -5701,14 +5555,10 @@ static void test_create_surface_pitch(void) }; DWORD flags_mask = DDSD_PITCH | DDSD_LPSURFACE; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5758,6 +5608,15 @@ static void test_create_surface_pitch(void) START_TEST(ddraw2) { + IDirectDraw2 *ddraw; + + if (!(ddraw = create_ddraw())) + { + skip("Failed to create a ddraw object, skipping tests.\n"); + return; + } + IDirectDraw2_Release(ddraw); + test_coop_level_create_device_window(); test_clipper_blt(); test_coop_level_d3d_state(); diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 2f40c4f18d0..5a2dba1245e 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -583,12 +583,8 @@ static void test_coop_level_create_device_window(void) focus_window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(focus_window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr); @@ -711,12 +707,8 @@ static void test_clipper_blt(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 10, 10, 640, 480, 0, 0, 0, 0); ShowWindow(window, SW_SHOW); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); ret = GetClientRect(window, &client_rect); ok(ret, "Failed to get client rect.\n"); @@ -955,13 +947,8 @@ static void test_surface_interface_mismatch(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - goto cleanup; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -1042,11 +1029,8 @@ static void test_coop_level_threaded(void) IDirectDraw4 *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); create_window_thread(&p); hr = IDirectDraw4_SetCooperativeLevel(ddraw, p.window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); @@ -1242,11 +1226,8 @@ static void test_texture_load_ckey(void) HRESULT hr; DDCOLORKEY ckey; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -2108,12 +2089,8 @@ static void test_surface_qi(void) return; } IDirect3DDevice_Release(device); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -2220,11 +2197,8 @@ static void test_wndproc(void) }; /* DDSCL_EXCLUSIVE replaces the window's window proc. */ - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -2337,12 +2311,8 @@ static void test_window_style(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); style = GetWindowLongA(window, GWL_STYLE); exstyle = GetWindowLongA(window, GWL_EXSTYLE); @@ -2388,12 +2358,8 @@ static void test_redundant_mode_set(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); @@ -2480,11 +2446,8 @@ static void test_coop_level_mode_set(void) 0, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = mode_set_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -3000,14 +2963,10 @@ static void test_coop_level_mode_set_multi(void) HRESULT hr; ULONG ref; - if (!(ddraw1 = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ddraw1 = create_ddraw(); + ok(!!ddraw1, "Failed to create a ddraw object.\n"); orig_w = GetSystemMetrics(SM_CXSCREEN); orig_h = GetSystemMetrics(SM_CYSCREEN); @@ -3188,11 +3147,8 @@ static void test_initialize(void) IDirectDraw4 *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_Initialize(ddraw, NULL); ok(hr == DDERR_ALREADYINITIALIZED, "Initialize returned hr %#x.\n", hr); @@ -3216,11 +3172,8 @@ static void test_coop_level_surf_create(void) DDSURFACEDESC2 ddsd; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); @@ -3321,13 +3274,8 @@ static void test_coop_level_multi_window(void) 0, 0, 640, 480, 0, 0, 0, 0); window2 = CreateWindowA("static", "ddraw_test2", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window2); - DestroyWindow(window1); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window1, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -3493,8 +3441,8 @@ static void test_coop_level_versions(void) window = CreateWindowA("static", "ddraw_test1", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw4 = create_ddraw())) - goto done; + ddraw4 = create_ddraw(); + ok(!!ddraw4, "Failed to create a ddraw object.\n"); /* Newly created ddraw objects restore the mode on ddraw2+::SetCooperativeLevel(NORMAL) */ restored = test_mode_restored(ddraw4, window); ok(restored, "Display mode not restored in new ddraw object\n"); @@ -3517,8 +3465,8 @@ static void test_coop_level_versions(void) IDirectDraw_Release(ddraw); IDirectDraw4_Release(ddraw4); - if (!(ddraw4 = create_ddraw())) - goto done; + ddraw4 = create_ddraw(); + ok(!!ddraw4, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_QueryInterface(ddraw4, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3531,8 +3479,8 @@ static void test_coop_level_versions(void) IDirectDraw4_Release(ddraw4); /* A failing call does not restore the ddraw2+ behavior */ - if (!(ddraw4 = create_ddraw())) - goto done; + ddraw4 = create_ddraw(); + ok(!!ddraw4, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_QueryInterface(ddraw4, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3547,8 +3495,8 @@ static void test_coop_level_versions(void) IDirectDraw4_Release(ddraw4); /* Neither does a sequence of successful calls with the new interface */ - if (!(ddraw4 = create_ddraw())) - goto done; + ddraw4 = create_ddraw(); + ok(!!ddraw4, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_QueryInterface(ddraw4, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3565,8 +3513,8 @@ static void test_coop_level_versions(void) IDirectDraw4_Release(ddraw4); /* ddraw1::CreateSurface does not triger the ddraw1 behavior */ - if (!(ddraw4 = create_ddraw())) - goto done; + ddraw4 = create_ddraw(); + ok(!!ddraw4, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_QueryInterface(ddraw4, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3586,8 +3534,6 @@ static void test_coop_level_versions(void) IDirectDraw_Release(ddraw); IDirectDraw4_Release(ddraw4); - -done: DestroyWindow(window); } @@ -3838,11 +3784,8 @@ static void test_coop_level_activateapp(void) DDSURFACEDESC2 ddsd; IDirectDrawSurface4 *surface; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = activateapp_test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -3992,12 +3935,8 @@ static void test_texturemanage(void) DDSCAPS_SYSTEMMEMORY, 0}, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4581,14 +4520,10 @@ static void test_rt_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4829,14 +4764,10 @@ static void test_primary_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i) { @@ -4952,14 +4883,10 @@ static void test_surface_lock(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5133,14 +5060,10 @@ static void test_flip(void) DDBLTFX fx; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = set_display_mode(ddraw, 640, 480); ok(SUCCEEDED(hr), "Failed to set display mode, hr %#x.\n", hr); @@ -5337,15 +5260,10 @@ static void test_set_surface_desc(void) {DDSCAPS_PRIMARYSURFACE | DDSCAPS_SYSTEMMEMORY, 0, FALSE, "systemmemory primary"}, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5632,14 +5550,10 @@ static void test_user_memory_getdc(void) HDC dc; unsigned int x, y; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5727,14 +5641,10 @@ static void test_sysmem_overlay(void) IDirectDrawSurface4 *surface; ULONG ref; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5771,18 +5681,13 @@ static void test_primary_palette(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - hr = IDirectDraw4_SetDisplayMode(ddraw, 640, 480, 8, 0, 0); - if (hr == E_NOTIMPL) + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + if (FAILED(hr = IDirectDraw4_SetDisplayMode(ddraw, 640, 480, 8, 0, 0))) { - win_skip("changing display mode is not supported (8bpp)\n"); + win_skip("Failed to set 8 bpp display mode, skipping test.\n"); IDirectDraw4_Release(ddraw); DestroyWindow(window); return; @@ -5884,14 +5789,10 @@ static void test_surface_attachment(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -6145,14 +6046,10 @@ static void test_private_data(void) HRESULT hr; HWND window; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -6290,11 +6187,7 @@ static void test_pixel_format(void) } ddraw = create_ddraw(); - if (!ddraw) - { - skip("Failed to create ddraw object\n"); - goto cleanup; - } + ok(!!ddraw, "Failed to create a ddraw object.\n"); test_format = GetPixelFormat(hdc); ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format); @@ -6424,14 +6317,10 @@ static void test_create_surface_pitch(void) }; DWORD flags_mask = DDSD_PITCH | DDSD_LPSURFACE; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -6481,6 +6370,15 @@ static void test_create_surface_pitch(void) START_TEST(ddraw4) { + IDirectDraw4 *ddraw; + + if (!(ddraw = create_ddraw())) + { + skip("Failed to create a ddraw object, skipping tests.\n"); + return; + } + IDirectDraw4_Release(ddraw); + test_process_vertices(); test_coop_level_create_device_window(); test_clipper_blt(); diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 4f1215c83de..1218a21ad99 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -557,12 +557,8 @@ static void test_coop_level_create_device_window(void) focus_window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(focus_window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(hr == DD_OK, "Got unexpected hr %#x.\n", hr); @@ -685,12 +681,8 @@ static void test_clipper_blt(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 10, 10, 640, 480, 0, 0, 0, 0); ShowWindow(window, SW_SHOW); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); ret = GetClientRect(window, &client_rect); ok(ret, "Failed to get client rect.\n"); @@ -922,13 +914,8 @@ static void test_surface_interface_mismatch(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - goto cleanup; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -1005,11 +992,8 @@ static void test_coop_level_threaded(void) IDirectDraw7 *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); create_window_thread(&p); hr = IDirectDraw7_SetCooperativeLevel(ddraw, p.window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); @@ -1834,12 +1818,8 @@ static void test_surface_qi(void) return; } IDirect3DDevice_Release(device); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -1946,11 +1926,8 @@ static void test_wndproc(void) }; /* DDSCL_EXCLUSIVE replaces the window's window proc. */ - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -2063,12 +2040,8 @@ static void test_window_style(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); style = GetWindowLongA(window, GWL_STYLE); exstyle = GetWindowLongA(window, GWL_EXSTYLE); @@ -2114,13 +2087,8 @@ static void test_redundant_mode_set(void) window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window); - return; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); ok(SUCCEEDED(hr), "SetCooperativeLevel failed, hr %#x.\n", hr); @@ -2206,11 +2174,8 @@ static void test_coop_level_mode_set(void) 0, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = mode_set_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -2726,14 +2691,10 @@ static void test_coop_level_mode_set_multi(void) HRESULT hr; ULONG ref; - if (!(ddraw1 = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ddraw1 = create_ddraw(); + ok(!!ddraw1, "Failed to create a ddraw object.\n"); orig_w = GetSystemMetrics(SM_CXSCREEN); orig_h = GetSystemMetrics(SM_CYSCREEN); @@ -2914,11 +2875,8 @@ static void test_initialize(void) IDirectDraw7 *ddraw; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_Initialize(ddraw, NULL); ok(hr == DDERR_ALREADYINITIALIZED, "Initialize returned hr %#x.\n", hr); @@ -2942,11 +2900,8 @@ static void test_coop_level_surf_create(void) DDSURFACEDESC2 ddsd; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); @@ -3047,13 +3002,8 @@ static void test_coop_level_multi_window(void) 0, 0, 640, 480, 0, 0, 0, 0); window2 = CreateWindowA("static", "ddraw_test2", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - DestroyWindow(window2); - DestroyWindow(window1); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window1, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -3216,8 +3166,8 @@ static void test_coop_level_versions(void) window = CreateWindowA("static", "ddraw_test1", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - if (!(ddraw7 = create_ddraw())) - goto done; + ddraw7 = create_ddraw(); + ok(!!ddraw7, "Failed to create a ddraw object.\n"); /* Newly created ddraw objects restore the mode on ddraw2+::SetCooperativeLevel(NORMAL) */ restored = test_mode_restored(ddraw7, window); ok(restored, "Display mode not restored in new ddraw object\n"); @@ -3240,8 +3190,8 @@ static void test_coop_level_versions(void) IDirectDraw_Release(ddraw); IDirectDraw7_Release(ddraw7); - if (!(ddraw7 = create_ddraw())) - goto done; + ddraw7 = create_ddraw(); + ok(!!ddraw7, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_QueryInterface(ddraw7, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3254,8 +3204,8 @@ static void test_coop_level_versions(void) IDirectDraw7_Release(ddraw7); /* A failing call does not restore the ddraw2+ behavior */ - if (!(ddraw7 = create_ddraw())) - goto done; + ddraw7 = create_ddraw(); + ok(!!ddraw7, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_QueryInterface(ddraw7, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3270,8 +3220,8 @@ static void test_coop_level_versions(void) IDirectDraw7_Release(ddraw7); /* Neither does a sequence of successful calls with the new interface */ - if (!(ddraw7 = create_ddraw())) - goto done; + ddraw7 = create_ddraw(); + ok(!!ddraw7, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_QueryInterface(ddraw7, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3288,8 +3238,8 @@ static void test_coop_level_versions(void) IDirectDraw7_Release(ddraw7); /* ddraw1::CreateSurface does not triger the ddraw1 behavior */ - if (!(ddraw7 = create_ddraw())) - goto done; + ddraw7 = create_ddraw(); + ok(!!ddraw7, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_QueryInterface(ddraw7, &IID_IDirectDraw, (void **)&ddraw); ok(SUCCEEDED(hr), "QueryInterface failed, hr %#x.\n", hr); @@ -3309,8 +3259,6 @@ static void test_coop_level_versions(void) IDirectDraw_Release(ddraw); IDirectDraw7_Release(ddraw7); - -done: DestroyWindow(window); } @@ -3643,11 +3591,8 @@ static void test_coop_level_activateapp(void) DDSURFACEDESC2 ddsd; IDirectDrawSurface7 *surface; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); wc.lpfnWndProc = activateapp_test_proc; wc.lpszClassName = "ddraw_test_wndproc_wc"; @@ -3797,12 +3742,8 @@ static void test_texturemanage(void) DDSCAPS_SYSTEMMEMORY, 0}, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4388,14 +4329,10 @@ static void test_rt_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -4641,14 +4578,10 @@ static void test_primary_caps(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i) { @@ -4804,14 +4737,10 @@ static void test_surface_lock(void) }, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5011,14 +4940,10 @@ static void test_flip(void) DDBLTFX fx; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = set_display_mode(ddraw, 640, 480); ok(SUCCEEDED(hr), "Failed to set display mode, hr %#x.\n", hr); @@ -5215,15 +5140,10 @@ static void test_set_surface_desc(void) {DDSCAPS_PRIMARYSURFACE | DDSCAPS_SYSTEMMEMORY, 0, FALSE, "systemmemory primary"}, }; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5511,15 +5431,10 @@ static void test_user_memory_getdc(void) HDC dc; unsigned int x, y; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5606,15 +5521,10 @@ static void test_sysmem_overlay(void) IDirectDrawSurface7 *surface; ULONG ref; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); - + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5650,14 +5560,10 @@ static void test_primary_palette(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw7_SetDisplayMode(ddraw, 640, 480, 8, 0, 0); ok(SUCCEEDED(hr), "Failed to set display mode, hr %#x.\n", hr); hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); @@ -5756,14 +5662,10 @@ static void test_surface_attachment(void) HWND window; HRESULT hr; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -5999,14 +5901,10 @@ static void test_private_data(void) HRESULT hr; HWND window; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -6144,11 +6042,7 @@ static void test_pixel_format(void) } ddraw = create_ddraw(); - if (!ddraw) - { - skip("Failed to create ddraw object\n"); - goto cleanup; - } + ok(!!ddraw, "Failed to create a ddraw object.\n"); test_format = GetPixelFormat(hdc); ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format); @@ -6278,14 +6172,10 @@ static void test_create_surface_pitch(void) }; DWORD flags_mask = DDSD_PITCH | DDSD_LPSURFACE; - if (!(ddraw = create_ddraw())) - { - skip("Failed to create a ddraw object, skipping test.\n"); - return; - } - window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); @@ -6336,6 +6226,7 @@ static void test_create_surface_pitch(void) START_TEST(ddraw7) { HMODULE module = GetModuleHandleA("ddraw.dll"); + IDirectDraw7 *ddraw; if (!(pDirectDrawCreateEx = (void *)GetProcAddress(module, "DirectDrawCreateEx"))) { @@ -6343,6 +6234,13 @@ START_TEST(ddraw7) return; } + if (!(ddraw = create_ddraw())) + { + skip("Failed to create a ddraw object, skipping tests.\n"); + return; + } + IDirectDraw7_Release(ddraw); + test_process_vertices(); test_coop_level_create_device_window(); test_clipper_blt();