[PATCH] winmm/tests: Accept MMSYSERR_ALLOCATED for more tests

Andrew Eikum aeikum at codeweavers.com
Tue Mar 25 10:07:28 CDT 2014


---
PulseAudio tends to own a hw device after running the tests on its
ALSA plugin device, so don't fail if the hw device is occupied.

Should fix bug 28109.

 dlls/winmm/tests/capture.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/dlls/winmm/tests/capture.c b/dlls/winmm/tests/capture.c
index 05c5735..54c3793 100644
--- a/dlls/winmm/tests/capture.c
+++ b/dlls/winmm/tests/capture.c
@@ -454,7 +454,8 @@ static void wave_in_test_device(UINT_PTR device)
     format.cbSize=0;
     rc=waveInOpen(&win,device,&format,0,0,CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -472,7 +473,8 @@ static void wave_in_test_device(UINT_PTR device)
     format.cbSize=0;
     rc=waveInOpen(&win,device,&format,0,0,CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -496,7 +498,8 @@ static void wave_in_test_device(UINT_PTR device)
     rc=waveInOpen(&win,device,&wfex.Format,0,0,
                   CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -520,7 +523,8 @@ static void wave_in_test_device(UINT_PTR device)
     rc=waveInOpen(&win,device,&wfex.Format,0,0,
                   CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -544,7 +548,8 @@ static void wave_in_test_device(UINT_PTR device)
     rc=waveInOpen(&win,device,&wfex.Format,0,0,
                   CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -571,7 +576,8 @@ static void wave_in_test_device(UINT_PTR device)
     rc=waveInOpen(&win,device,&wfex.Format,0,0,
                   CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -596,7 +602,8 @@ static void wave_in_test_device(UINT_PTR device)
     rc=waveInOpen(&win,device,&wfex.Format,0,0,
                   CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
@@ -620,7 +627,8 @@ static void wave_in_test_device(UINT_PTR device)
     rc=waveInOpen(&win,device,&wfex.Format,0,0,
                   CALLBACK_NULL|WAVE_FORMAT_DIRECT);
     ok(rc==MMSYSERR_NOERROR || rc==WAVERR_BADFORMAT ||
-       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM,
+       rc==MMSYSERR_INVALFLAG || rc==MMSYSERR_INVALPARAM ||
+       rc==MMSYSERR_ALLOCATED,
        "waveInOpen(%s): returned: %s\n",dev_name(device),wave_in_error(rc));
     if (rc==MMSYSERR_NOERROR) {
         waveInClose(win);
-- 
1.9.1




More information about the wine-patches mailing list