Module: wine Branch: master Commit: 45c1f7d3ed33c7037358f94e7342324657f696d8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=45c1f7d3ed33c7037358f94e73...
Author: Michael Stefaniuc mstefani@redhat.de Date: Tue Jul 19 09:51:36 2016 +0200
dmsynth/tests: Move the dll availability check to a separate function.
Signed-off-by: Michael Stefaniuc mstefani@redhat.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dmsynth/tests/dmsynth.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/dlls/dmsynth/tests/dmsynth.c b/dlls/dmsynth/tests/dmsynth.c index ba094a1..2d8e513 100644 --- a/dlls/dmsynth/tests/dmsynth.c +++ b/dlls/dmsynth/tests/dmsynth.c @@ -30,6 +30,20 @@ #include "dmusici.h" #include "dmksctrl.h"
+static BOOL missing_dmsynth(void) +{ + IDirectMusicSynth *dms; + HRESULT hr = CoCreateInstance(&CLSID_DirectMusicSynth, NULL, CLSCTX_INPROC_SERVER, + &IID_IDirectMusicSynth, (void**)&dms); + + if (hr == S_OK && dms) + { + IDirectMusicSynth_Release(dms); + return FALSE; + } + return TRUE; +} + static void test_dmsynth(void) { IDirectMusicSynth *dmsynth = NULL; @@ -44,11 +58,7 @@ static void test_dmsynth(void) ULONG bytes;
hr = CoCreateInstance(&CLSID_DirectMusicSynth, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynth, (LPVOID*)&dmsynth); - if (hr != S_OK) - { - skip("Cannot create DirectMusicSync object (%x)\n", hr); - return; - } + ok(hr == S_OK, "CoCreateInstance returned: %x\n", hr);
hr = CoCreateInstance(&CLSID_DirectMusicSynthSink, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynthSink, (LPVOID*)&dmsynth_sink); ok(hr == S_OK, "CoCreateInstance returned: %x\n", hr); @@ -130,6 +140,12 @@ START_TEST(dmsynth) { CoInitializeEx(NULL, COINIT_MULTITHREADED);
+ if (missing_dmsynth()) + { + skip("dmsynth not available\n"); + CoUninitialize(); + return; + } test_dmsynth();
CoUninitialize();