[PATCH 2/8] dmband/tests: Move the dll availability check to a separate function.
Michael Stefaniuc
mstefani at redhat.de
Wed Jan 29 17:49:42 CST 2014
---
dlls/dmband/tests/dmband.c | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/dlls/dmband/tests/dmband.c b/dlls/dmband/tests/dmband.c
index ecc767a..5195066 100644
--- a/dlls/dmband/tests/dmband.c
+++ b/dlls/dmband/tests/dmband.c
@@ -31,22 +31,28 @@
DEFINE_GUID(IID_IDirectMusicBandTrackPrivate, 0x53466056, 0x6dc4, 0x11d1, 0xbf, 0x7b, 0x00, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
+static BOOL missing_dmband(void)
+{
+ IDirectMusicBand *dmb;
+ HRESULT hr = CoCreateInstance(&CLSID_DirectMusicBand, NULL, CLSCTX_INPROC_SERVER,
+ &IID_IDirectMusicBand, (void**)&dmb);
+
+ if (hr == S_OK && dmb)
+ {
+ IDirectMusicBand_Release(dmb);
+ return FALSE;
+ }
+ return TRUE;
+}
+
static void test_dmband(void)
{
- IDirectMusicBand *band;
IUnknown *unknown = NULL;
IDirectMusicTrack *track = NULL;
IPersistStream *stream = NULL;
IPersistStream *private = NULL;
HRESULT hr;
- hr = CoCreateInstance(&CLSID_DirectMusicBand, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicBand, (LPVOID*)&band);
- if (hr != S_OK)
- {
- skip("Cannot create DirectMusicBand object (%x)\n", hr);
- return;
- }
-
hr = CoCreateInstance(&CLSID_DirectMusicBandTrack, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (LPVOID*)&unknown);
ok(hr == S_OK, "CoCreateInstance returned: %x\n", hr);
hr = IUnknown_QueryInterface(unknown, &IID_IDirectMusicTrack, (LPVOID*)&track);
@@ -68,13 +74,19 @@ static void test_dmband(void)
IDirectMusicTrack_Release(track);
if (unknown)
IUnknown_Release(unknown);
- IDirectMusicBand_Release(band);
}
START_TEST(dmband)
{
CoInitializeEx(NULL, COINIT_MULTITHREADED);
+ if (missing_dmband())
+ {
+ skip("dmband not available\n");
+ CoUninitialize();
+ return;
+ }
+
test_dmband();
CoUninitialize();
--
1.8.3.1
More information about the wine-patches
mailing list