[06/11] ddraw/tests: Don't bail out after first test failure.
Octavian Voicu
octavian.voicu at gmail.com
Mon Nov 7 16:27:09 CST 2011
--
Previous patches try to make sure no new failures will appear.
Test coverage should increase a bit.
---
dlls/ddraw/tests/visual.c | 40 ++++++++++++++--------------------------
1 files changed, 14 insertions(+), 26 deletions(-)
diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c
index 1f241b3..6664d1e 100644
--- a/dlls/ddraw/tests/visual.c
+++ b/dlls/ddraw/tests/visual.c
@@ -83,7 +83,7 @@ static BOOL createObjects(void)
hr = pDirectDrawCreateEx(NULL, (void **) &DirectDraw, &IID_IDirectDraw7, NULL);
ok(hr==DD_OK || hr==DDERR_NODIRECTDRAWSUPPORT, "DirectDrawCreateEx returned: %x\n", hr);
- if(!DirectDraw) goto err;
+ if(!DirectDraw) return FALSE;
wc.lpfnWndProc = DefWindowProc;
wc.lpszClassName = "d3d7_test_wc";
@@ -92,7 +92,7 @@ static BOOL createObjects(void)
hr = IDirectDraw7_SetCooperativeLevel(DirectDraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
ok(hr == DD_OK, "IDirectDraw7_SetCooperativeLevel failed with %08x\n", hr);
- if(FAILED(hr)) goto err;
+ if(FAILED(hr)) return FALSE;
hr = IDirectDraw7_SetDisplayMode(DirectDraw, 640, 480, 32, 0, 0);
if(FAILED(hr)) {
/* 24 bit is fine too */
@@ -103,13 +103,13 @@ static BOOL createObjects(void)
if(FAILED(hr)) {
/* use trace, the caller calls skip() */
trace("SetDisplayMode failed\n");
- goto err;
+ return FALSE;
}
hr = IDirectDraw7_QueryInterface(DirectDraw, &IID_IDirect3D7, (void**) &Direct3D);
if (hr == E_NOINTERFACE) {
win_skip("IID_IDirect3D7 not available, skipping tests.\n");
- goto err;
+ return FALSE;
}
ok(hr==DD_OK, "QueryInterface returned: %08x\n", hr);
@@ -122,12 +122,12 @@ static BOOL createObjects(void)
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE;
ddsd.dwBackBufferCount = 1;
hr = IDirectDraw7_CreateSurface(DirectDraw, &ddsd, &Surface, NULL);
- if(FAILED(hr)) goto err;
+ if(FAILED(hr)) return FALSE;
memset(&zfmt, 0, sizeof(zfmt));
hr = IDirect3D7_EnumZBufferFormats(Direct3D, &IID_IDirect3DTnLHalDevice, enum_z_fmt, &zfmt);
- if (FAILED(hr)) goto err;
- if (zfmt.dwSize == 0) goto err;
+ if (FAILED(hr)) return FALSE;
+ if (zfmt.dwSize == 0) return FALSE;
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
@@ -138,24 +138,15 @@ static BOOL createObjects(void)
ddsd.dwHeight = 480;
hr = IDirectDraw7_CreateSurface(DirectDraw, &ddsd, &depth_buffer, NULL);
ok(SUCCEEDED(hr), "CreateSurface failed, hr %#x.\n", hr);
- if (FAILED(hr)) goto err;
+ if (FAILED(hr)) return FALSE;
hr = IDirectDrawSurface_AddAttachedSurface(Surface, depth_buffer);
ok(SUCCEEDED(hr), "AddAttachedSurface failed, hr %#x.\n", hr);
- if (FAILED(hr)) goto err;
+ if (FAILED(hr)) return FALSE;
hr = IDirect3D7_CreateDevice(Direct3D, &IID_IDirect3DTnLHalDevice, Surface, &Direct3DDevice);
- if (FAILED(hr) || !Direct3DDevice) goto err;
+ if (FAILED(hr) || !Direct3DDevice) return FALSE;
return TRUE;
-
- err:
- if(DirectDraw) IDirectDraw7_Release(DirectDraw);
- if (depth_buffer) IDirectDrawSurface7_Release(depth_buffer);
- if(Surface) IDirectDrawSurface7_Release(Surface);
- if(Direct3D) IDirect3D7_Release(Direct3D);
- if(Direct3DDevice) IDirect3DDevice7_Release(Direct3DDevice);
- if(window) DestroyWindow(window);
- return FALSE;
}
static void releaseObjects(void)
@@ -3238,10 +3229,11 @@ START_TEST(visual)
{
HRESULT hr;
DWORD color;
+
if(!createObjects())
{
skip("Cannot initialize DirectDraw and Direct3D, skipping\n");
- return;
+ goto cleanup;
}
/* Check for the reliability of the returned data */
@@ -3284,7 +3276,8 @@ START_TEST(visual)
rhw_zero_test(Direct3DDevice);
cubemap_test(Direct3DDevice);
- releaseObjects(); /* release DX7 interfaces to test D3D1 */
+cleanup:
+ releaseObjects(); /* release DX7 interfaces for other tests */
if(!D3D1_createObjects()) {
skip("Cannot initialize D3D1, skipping\n");
@@ -3298,9 +3291,4 @@ START_TEST(visual)
D3D3_ViewportClearTest();
p8_primary_test();
DX1_BackBufferFlipTest();
-
- return ;
-
-cleanup:
- releaseObjects();
}
--
1.7.4.1
More information about the wine-patches
mailing list