Module: wine Branch: master Commit: f4ba76e1d12418d79cd2cb207ff279513e64df7b URL: http://source.winehq.org/git/wine.git/?a=commit;h=f4ba76e1d12418d79cd2cb207f...
Author: Paul Vriens paul.vriens.wine@gmail.com Date: Sat Sep 6 14:16:19 2008 +0200
winmm/tests: Fix a test on win9x.
---
dlls/winmm/tests/mmio.c | 26 ++++++++++++++++---------- 1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/dlls/winmm/tests/mmio.c b/dlls/winmm/tests/mmio.c index e945891..f07ab8d 100644 --- a/dlls/winmm/tests/mmio.c +++ b/dlls/winmm/tests/mmio.c @@ -302,24 +302,24 @@ static void test_mmioOpen(char *fname) memset(&mmio, 0, sizeof(mmio)); mmio.fccIOProc = fname ? FOURCC_DOS : FOURCC_MEM; mmio.cchBuffer = 0; - mmio.pchBuffer = buf; + mmio.pchBuffer = NULL; hmmio = mmioOpen(fname, &mmio, MMIO_READ | MMIO_ALLOCBUF); ok(hmmio != 0, "mmioOpen error %u\n", mmio.wErrorRet);
memset(&mmio, 0, sizeof(mmio)); ret = mmioGetInfo(hmmio, &mmio, 0); ok(ret == MMSYSERR_NOERROR, "mmioGetInfo error %u\n", ret); - ok(mmio.dwFlags == MMIO_READ, "expected MMIO_READ, got %x\n", mmio.dwFlags); + ok(mmio.dwFlags == (MMIO_READ|MMIO_ALLOCBUF), "expected MMIO_READ|MMIO_ALLOCBUF, got %x\n", mmio.dwFlags); ok(mmio.wErrorRet == MMSYSERR_NOERROR, "expected MMSYSERR_NOERROR, got %u\n", mmio.wErrorRet); ok(mmio.fccIOProc == (fname ? FOURCC_DOS : FOURCC_MEM), "got %4.4s\n", (LPCSTR)&mmio.fccIOProc); ok(mmio.cchBuffer == MMIO_DEFAULTBUFFER, "expected MMIO_DEFAULTBUFFER, got %u\n", mmio.cchBuffer); - ok(mmio.pchBuffer == buf, "expected %p, got %p\n", buf, mmio.pchBuffer); + ok(mmio.pchBuffer != NULL, "expected not NULL\n");
mmioClose(hmmio, 0);
memset(&mmio, 0, sizeof(mmio)); mmio.fccIOProc = fname ? FOURCC_DOS : FOURCC_MEM; - mmio.cchBuffer = 0; + mmio.cchBuffer = 256; mmio.pchBuffer = NULL; hmmio = mmioOpen(fname, &mmio, MMIO_READ | MMIO_ALLOCBUF); ok(hmmio != 0, "mmioOpen error %u\n", mmio.wErrorRet); @@ -330,26 +330,32 @@ static void test_mmioOpen(char *fname) ok(mmio.dwFlags == (MMIO_READ|MMIO_ALLOCBUF), "expected MMIO_READ|MMIO_ALLOCBUF, got %x\n", mmio.dwFlags); ok(mmio.wErrorRet == MMSYSERR_NOERROR, "expected MMSYSERR_NOERROR, got %u\n", mmio.wErrorRet); ok(mmio.fccIOProc == (fname ? FOURCC_DOS : FOURCC_MEM), "got %4.4s\n", (LPCSTR)&mmio.fccIOProc); - ok(mmio.cchBuffer == MMIO_DEFAULTBUFFER, "expected MMIO_DEFAULTBUFFER, got %u\n", mmio.cchBuffer); + ok(mmio.cchBuffer == 256, "expected 256, got %u\n", mmio.cchBuffer); ok(mmio.pchBuffer != NULL, "expected not NULL\n");
mmioClose(hmmio, 0);
memset(&mmio, 0, sizeof(mmio)); mmio.fccIOProc = fname ? FOURCC_DOS : FOURCC_MEM; - mmio.cchBuffer = 256; - mmio.pchBuffer = NULL; + mmio.cchBuffer = 0; + mmio.pchBuffer = buf; hmmio = mmioOpen(fname, &mmio, MMIO_READ | MMIO_ALLOCBUF); + if (!hmmio && mmio.wErrorRet == ERROR_BAD_FORMAT) + { + /* Seen on Win9x, WinMe but also XP-SP1 */ + skip("Some Windows versions don't like a 0 size and a given buffer\n"); + return; + } ok(hmmio != 0, "mmioOpen error %u\n", mmio.wErrorRet);
memset(&mmio, 0, sizeof(mmio)); ret = mmioGetInfo(hmmio, &mmio, 0); ok(ret == MMSYSERR_NOERROR, "mmioGetInfo error %u\n", ret); - ok(mmio.dwFlags == (MMIO_READ|MMIO_ALLOCBUF), "expected MMIO_READ|MMIO_ALLOCBUF, got %x\n", mmio.dwFlags); + ok(mmio.dwFlags == MMIO_READ, "expected MMIO_READ, got %x\n", mmio.dwFlags); ok(mmio.wErrorRet == MMSYSERR_NOERROR, "expected MMSYSERR_NOERROR, got %u\n", mmio.wErrorRet); ok(mmio.fccIOProc == (fname ? FOURCC_DOS : FOURCC_MEM), "got %4.4s\n", (LPCSTR)&mmio.fccIOProc); - ok(mmio.cchBuffer == 256, "expected 256, got %u\n", mmio.cchBuffer); - ok(mmio.pchBuffer != NULL, "expected not NULL\n"); + ok(mmio.cchBuffer == MMIO_DEFAULTBUFFER, "expected MMIO_DEFAULTBUFFER, got %u\n", mmio.cchBuffer); + ok(mmio.pchBuffer == buf, "expected %p, got %p\n", buf, mmio.pchBuffer);
mmioClose(hmmio, 0); }