Paul Vriens : winmm/tests: Fix a test on win9x.
Alexandre Julliard
julliard at winehq.org
Mon Sep 8 07:41:52 CDT 2008
Module: wine
Branch: master
Commit: f4ba76e1d12418d79cd2cb207ff279513e64df7b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f4ba76e1d12418d79cd2cb207ff279513e64df7b
Author: Paul Vriens <paul.vriens.wine at 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);
}
More information about the wine-cvs
mailing list