[PATCH] dsound/tests: Add some GetStatus checks
Andrew Eikum
aeikum at codeweavers.com
Tue Oct 1 14:15:10 CDT 2019
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
On Mon, Sep 30, 2019 at 01:00:24AM +0000, Alistair Leslie-Hughes wrote:
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> ---
> dlls/dsound/tests/dsound.c | 21 +++++++++++++++++++--
> 1 file changed, 19 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/dsound/tests/dsound.c b/dlls/dsound/tests/dsound.c
> index 41818deb17..d242bf6b24 100644
> --- a/dlls/dsound/tests/dsound.c
> +++ b/dlls/dsound/tests/dsound.c
> @@ -1063,7 +1063,7 @@ static HRESULT test_notify(LPDIRECTSOUNDBUFFER dsb,
> DWORD expected)
> {
> HRESULT rc;
> - DWORD ret;
> + DWORD ret, status;
>
> rc=IDirectSoundBuffer_SetCurrentPosition(dsb,0);
> ok(rc==DS_OK,
> @@ -1076,13 +1076,22 @@ static HRESULT test_notify(LPDIRECTSOUNDBUFFER dsb,
> if(rc!=DS_OK)
> return rc;
>
> + rc = IDirectSoundBuffer_GetStatus(dsb, &status);
> + ok(rc == DS_OK,"Failed %08x\n",rc);
> + ok(status == DSBSTATUS_PLAYING,"got %08x\n", status);
> +
> rc=IDirectSoundBuffer_Stop(dsb);
> ok(rc==DS_OK,"IDirectSoundBuffer_Stop failed %08x\n",rc);
> if(rc!=DS_OK)
> return rc;
>
> + rc = IDirectSoundBuffer_GetStatus(dsb, &status);
> + ok(rc == DS_OK,"Failed %08x\n",rc);
> + ok(status == 0 /* Stopped */,"got %08x\n", status);
> +
> ret=WaitForMultipleObjects(count,event,FALSE,0);
> ok(ret==expected,"expected %d. got %d\n",expected,ret);
> +
> return rc;
> }
>
> @@ -1537,7 +1546,7 @@ static void test_notifications(LPGUID lpGuid)
> WAVEFORMATEX wfx;
> DSBPOSITIONNOTIFY notifies[2];
> HANDLE handles[2];
> - DWORD expect;
> + DWORD expect, status;
> int cycles;
>
> rc = pDirectSoundCreate(lpGuid, &dso, NULL);
> @@ -1607,12 +1616,20 @@ static void test_notifications(LPGUID lpGuid)
> ok(wait <= WAIT_OBJECT_0 + 1 && wait - WAIT_OBJECT_0 == expect,
> "Got unexpected notification order or timeout: %u\n", wait);
>
> + rc = IDirectSoundBuffer_GetStatus(buf, &status);
> + ok(rc == DS_OK,"Failed %08x\n",rc);
> + ok(status == (DSBSTATUS_PLAYING | DSBSTATUS_LOOPING),"got %08x\n", status);
> +
> expect = !expect;
> }
>
> rc = IDirectSoundBuffer_Stop(buf);
> ok(rc == DS_OK, "Stop: %08x\n", rc);
>
> + rc = IDirectSoundBuffer_GetStatus(buf, &status);
> + ok(rc == DS_OK,"Failed %08x\n",rc);
> + ok(status == 0,"got %08x\n", status);
> +
> CloseHandle(notifies[0].hEventNotify);
> CloseHandle(notifies[1].hEventNotify);
>
> --
> 2.17.1
>
>
More information about the wine-devel
mailing list