[PATCH] dsound/tests: Added additional tests of IDirectSound_CreateSoundBuffe. [2/2]
Roy Shea
royshea at gmail.com
Tue Jun 24 12:29:50 CDT 2008
The new IDirectSound_CreateSoundBuffer tests stress the effects of
different malformed DSBUFFERDESC buffer descriptions. These tests have
been verified on Windows XP.
---
dlls/dsound/tests/dsound.c | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/dlls/dsound/tests/dsound.c b/dlls/dsound/tests/dsound.c
index fc15bad..4b84eb9 100644
--- a/dlls/dsound/tests/dsound.c
+++ b/dlls/dsound/tests/dsound.c
@@ -401,16 +401,42 @@ static HRESULT test_primary(LPGUID lpGuid)
"IDirectSound_CreateSoundBuffer() should have failed: %s\n",
DXGetErrorString8(rc));
+ /* DSOUND: Error: NULL pointer is invalid */
/* DSOUND: Error: Invalid buffer description pointer */
rc=IDirectSound_CreateSoundBuffer(dso,0,&primary,NULL);
ok(rc==DSERR_INVALIDPARAM && primary==0,
"IDirectSound_CreateSoundBuffer() should have failed: rc=%s,"
"dsbo=%p\n",DXGetErrorString8(rc),primary);
- ZeroMemory(&bufdesc, sizeof(bufdesc));
-
/* DSOUND: Error: Invalid size */
/* DSOUND: Error: Invalid buffer description */
+ primary=NULL;
+ ZeroMemory(&bufdesc, sizeof(bufdesc));
+ bufdesc.dwSize=sizeof(bufdesc)-1;
+ rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&primary,NULL);
+ ok(rc==DSERR_INVALIDPARAM && primary==0,
+ "IDirectSound_CreateSoundBuffer() should have failed: rc=%s,"
+ "primary=%p\n",DXGetErrorString8(rc),primary);
+
+ /* DSOUND: Error: DSBCAPS_PRIMARYBUFFER flag with non-NULL lpwfxFormat */
+ /* DSOUND: Error: Invalid buffer description pointer */
+ primary=NULL;
+ ZeroMemory(&bufdesc, sizeof(bufdesc));
+ bufdesc.dwSize=sizeof(bufdesc);
+ bufdesc.dwFlags=DSBCAPS_PRIMARYBUFFER;
+ bufdesc.lpwfxFormat=&wfx;
+ rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&primary,NULL);
+ ok(rc==DSERR_INVALIDPARAM && primary==0,
+ "IDirectSound_CreateSoundBuffer() should have failed: rc=%s,"
+ "primary=%p\n",DXGetErrorString8(rc),primary);
+
+ /* DSOUND: Error: No DSBCAPS_PRIMARYBUFFER flag with NULL lpwfxFormat */
+ /* DSOUND: Error: Invalid buffer description pointer */
+ primary=NULL;
+ ZeroMemory(&bufdesc, sizeof(bufdesc));
+ bufdesc.dwSize=sizeof(bufdesc);
+ bufdesc.dwFlags=0;
+ bufdesc.lpwfxFormat=NULL;
rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&primary,NULL);
ok(rc==DSERR_INVALIDPARAM && primary==0,
"IDirectSound_CreateSoundBuffer() should have failed: rc=%s,"
--
1.5.4.5
More information about the wine-patches
mailing list