dsound/tests: Handle broken E_FAIL of broken AC97 driver.

This commit is contained in:
Detlef Riekenberg 2012-10-14 23:39:46 +02:00 committed by Alexandre Julliard
parent 45c56bcc80
commit b23450e38e

View File

@ -1535,7 +1535,7 @@ static void test_hw_buffers(void)
trace("dwMaxHwMixingStreamingBuffers: %u\n", caps.dwMaxHwMixingStreamingBuffers); trace("dwMaxHwMixingStreamingBuffers: %u\n", caps.dwMaxHwMixingStreamingBuffers);
for(i = 0; i < caps.dwMaxHwMixingAllBuffers; ++i){ for(i = 0; i < caps.dwMaxHwMixingAllBuffers; ++i){
hr = IDirectSound_CreateSoundBuffer(ds, &bufdesc, &secondaries[i], NULL); hr = IDirectSound_CreateSoundBuffer(ds, &bufdesc, &secondaries[i], NULL);
ok(hr == S_OK || hr == E_NOTIMPL || broken(hr == DSERR_CONTROLUNAVAIL), ok(hr == S_OK || hr == E_NOTIMPL || broken(hr == DSERR_CONTROLUNAVAIL) || broken(hr == E_FAIL),
"CreateSoundBuffer(%u) failed: %08x\n", i, hr); "CreateSoundBuffer(%u) failed: %08x\n", i, hr);
if(hr != S_OK) if(hr != S_OK)
break; break;
@ -1553,8 +1553,9 @@ static void test_hw_buffers(void)
(caps.dwMaxHwMixingAllBuffers == 0 && hr == DSERR_INVALIDCALL) || /* no hw buffers at all */ (caps.dwMaxHwMixingAllBuffers == 0 && hr == DSERR_INVALIDCALL) || /* no hw buffers at all */
hr == E_NOTIMPL || /* don't support hw buffers */ hr == E_NOTIMPL || /* don't support hw buffers */
broken(hr == DSERR_CONTROLUNAVAIL) || /* vmware winxp, others? */ broken(hr == DSERR_CONTROLUNAVAIL) || /* vmware winxp, others? */
broken(hr == E_FAIL) || /* broken AC97 driver */
broken(hr == S_OK) /* broken driver allows more hw bufs than dscaps claims */, broken(hr == S_OK) /* broken driver allows more hw bufs than dscaps claims */,
"CreateSoundBuffer gave wrong error: %08x\n", hr); "CreateSoundBuffer(%u) gave wrong error: %08x\n", i, hr);
if(hr == S_OK) if(hr == S_OK)
IDirectSoundBuffer_Release(secondary); IDirectSoundBuffer_Release(secondary);