Module: wine Branch: master Commit: 20a50f30c4ab57330436438ee42bbc5b491623fd URL: http://source.winehq.org/git/wine.git/?a=commit;h=20a50f30c4ab57330436438ee4...
Author: Paul Vriens Paul.Vriens.Wine@gmail.com Date: Thu Dec 24 13:12:36 2009 +0100
mmdevapi/tests: Fix a test failure on Vista+ with no soundcard present.
---
dlls/mmdevapi/tests/dependency.c | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/dlls/mmdevapi/tests/dependency.c b/dlls/mmdevapi/tests/dependency.c index 1568bed..0d60cb2 100644 --- a/dlls/mmdevapi/tests/dependency.c +++ b/dlls/mmdevapi/tests/dependency.c @@ -55,15 +55,18 @@ START_TEST(dependency) if (FAILED(hr)) { skip("mmdevapi not available: 0x%08x\n", hr); - return; + goto cleanup; }
hr = IMMDeviceEnumerator_GetDefaultAudioEndpoint(mme, eRender, eMultimedia, &dev); - ok(hr == S_OK, "GetDefaultAudioEndpoint failed: 0x%08x\n", hr); + ok(hr == S_OK || hr == E_NOTFOUND, "GetDefaultAudioEndpoint failed: 0x%08x\n", hr); if (hr != S_OK) { - skip("GetDefaultAudioEndpoint returns 0x%08x, skipping tests\n", hr); - return; + if (hr == E_NOTFOUND) + skip("No sound card available\n"); + else + skip("GetDefaultAudioEndpoint returns 0x%08x\n", hr); + goto cleanup; }
ok(!GetModuleHandle("dsound.dll"), "dsound.dll was already loaded!\n"); @@ -94,8 +97,14 @@ START_TEST(dependency) ok(IsEqualCLSID(&clsid, &CLSID_DSoundRender), "Wrong class id %s", dump_guid(&clsid)); } } + +cleanup: if (bf) IUnknown_Release(bf); + if (dev) + IUnknown_Release(dev); + if (mme) + IUnknown_Release(mme);
- IUnknown_Release(mme); + CoUninitialize(); }