diff --git a/dlls/winmm/tests/wave.c b/dlls/winmm/tests/wave.c index 3564d4d060a..7585de34ff4 100644 --- a/dlls/winmm/tests/wave.c +++ b/dlls/winmm/tests/wave.c @@ -119,6 +119,27 @@ static const char * wave_out_error(MMRESULT error) return msg; } +static const char * mmsys_error(DWORD error) +{ + static char unknown[32]; + switch (error) { + case MMSYSERR_NOERROR: return "MMSYSERR_NOERROR"; + case MMSYSERR_ERROR: return "MMSYSERR_ERROR"; + case MMSYSERR_BADDEVICEID: return "MMSYSERR_BADDEVICEID"; + case MMSYSERR_NOTENABLED: return "MMSYSERR_NOTENABLED"; + case MMSYSERR_ALLOCATED: return "MMSYSERR_ALLOCATED"; + case MMSYSERR_INVALHANDLE: return "MMSYSERR_INVALHANDLE"; + case MMSYSERR_NODRIVER: return "MMSYSERR_NODRIVER"; + case MMSYSERR_NOMEM: return "MMSYSERR_NOMEM"; + case MMSYSERR_NOTSUPPORTED: return "MMSYSERR_NOTSUPPORTED"; + case MMSYSERR_BADERRNUM: return "MMSYSERR_BADERRNUM"; + case MMSYSERR_INVALFLAG: return "MMSYSERR_INVALFLAG"; + case MMSYSERR_INVALPARAM: return "MMSYSERR_INVALPARAM"; + } + sprintf(unknown, "Unknown(0x%08lx)", error); + return unknown; +} + static const char * wave_open_flags(DWORD flags) { static char msg[1024]; @@ -266,15 +287,15 @@ static void wave_out_tests() rc=waveOutGetDevCapsA(ndev+1,&caps,sizeof(caps)); ok(rc==MMSYSERR_BADDEVICEID, - "waveOutGetDevCapsA: MMSYSERR_BADDEVICEID expected, got %d\n",rc); + "waveOutGetDevCapsA: MMSYSERR_BADDEVICEID expected, got %s\n",mmsys_error(rc)); rc=waveOutGetDevCapsA(WAVE_MAPPER,&caps,sizeof(caps)); if (ndev>0) ok(rc==MMSYSERR_NOERROR, - "waveOutGetDevCapsA: MMSYSERR_NOERROR expected, got %d\n",rc); + "waveOutGetDevCapsA: MMSYSERR_NOERROR expected, got %s\n",mmsys_error(rc)); else - ok(rc==MMSYSERR_BADDEVICEID, - "waveOutGetDevCapsA: MMSYSERR_BADDEVICEID expected, got %d\n",rc); + ok(rc==MMSYSERR_BADDEVICEID || rc==MMSYSERR_NODRIVER, + "waveOutGetDevCapsA: MMSYSERR_BADDEVICEID or MMSYSERR_NODRIVER expected, got %s\n",mmsys_error(rc)); format.wFormatTag=WAVE_FORMAT_PCM; format.nChannels=2; @@ -285,23 +306,23 @@ static void wave_out_tests() format.cbSize=0; rc=waveOutOpen(&wout,ndev+1,&format,0,0,CALLBACK_NULL); ok(rc==MMSYSERR_BADDEVICEID, - "waveOutOpen: MMSYSERR_BADDEVICEID expected, got %d\n",rc); + "waveOutOpen: MMSYSERR_BADDEVICEID expected, got %s\n",mmsys_error(rc)); for (d=0;d0) ok(rc==MMSYSERR_NOERROR, - "waveInGetDevCapsA: MMSYSERR_NOERROR expected, got %d\n",rc); + "waveInGetDevCapsA: MMSYSERR_NOERROR expected, got %s\n",mmsys_error(rc)); else - ok(rc==MMSYSERR_BADDEVICEID, - "waveInGetDevCapsA: MMSYSERR_BADDEVICEID expected, got %d\n",rc); + ok(rc==MMSYSERR_BADDEVICEID || MMSYSERR_NODRIVER, + "waveInGetDevCapsA: MMSYSERR_BADDEVICEID or MMSYSERR_NODRIVER expected, got %s\n",mmsys_error(rc)); format.wFormatTag=WAVE_FORMAT_PCM; format.nChannels=2; @@ -511,23 +531,23 @@ static void wave_in_tests() format.cbSize=0; rc=waveInOpen(&win,ndev+1,&format,0,0,CALLBACK_NULL); ok(rc==MMSYSERR_BADDEVICEID, - "waveInOpen: MMSYSERR_BADDEVICEID expected, got %d(%s)\n",rc,wave_in_error(rc)); + "waveInOpen: MMSYSERR_BADDEVICEID expected, got %s(%s)\n",mmsys_error(rc),wave_in_error(rc)); for (d=0;d