Michael Stefaniuc : dmsynth/tests: Move the dll availability check to a separate function.
Module: wine Branch: master Commit: 45c1f7d3ed33c7037358f94e7342324657f696d8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=45c1f7d3ed33c7037358f94e73... Author: Michael Stefaniuc <mstefani(a)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(a)redhat.de> Signed-off-by: Alexandre Julliard <julliard(a)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();
participants (1)
-
Alexandre Julliard