[PATCH 1/2] dmusic/tests: Centralize the skip().

Michael Stefaniuc mstefani at redhat.de
Sun Dec 29 15:36:28 CST 2013


---
Series supersedes the previous 2/2 patch.


 dlls/dmusic/tests/dmusic.c | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/dlls/dmusic/tests/dmusic.c b/dlls/dmusic/tests/dmusic.c
index 3174685..9cc9023 100644
--- a/dlls/dmusic/tests/dmusic.c
+++ b/dlls/dmusic/tests/dmusic.c
@@ -62,11 +62,7 @@ static void test_dmusic(void)
     IReferenceClock *clock = NULL;
 
     hr = CoCreateInstance(&CLSID_DirectMusic, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusic, (LPVOID*)&dmusic);
-    if (hr != S_OK)
-    {
-        skip("Cannot create DirectMusic object (%x)\n", hr);
-        return;
-    }
+    ok(hr == S_OK, "Cannot create DirectMusic object (%x)\n", hr);
 
     hr = IDirectMusic_GetMasterClock(dmusic, &guid_clock, &clock);
     ok(hr == S_OK, "IDirectMusic_GetMasterClock returned: %x\n", hr);
@@ -149,11 +145,7 @@ static void test_dmbuffer(void)
     LPBYTE data;
 
     hr = CoCreateInstance(&CLSID_DirectMusic, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusic, (LPVOID*)&dmusic);
-    if (hr != S_OK)
-    {
-        skip("Cannot create DirectMusic object (%x)\n", hr);
-        return;
-    }
+    ok(hr == S_OK, "Cannot create DirectMusic object (%x)\n", hr);
 
     desc.dwSize = sizeof(DMUS_BUFFERDESC);
     desc.dwFlags = 0;
@@ -230,10 +222,25 @@ static void test_dmbuffer(void)
     IDirectMusic_Release(dmusic);
 }
 
+static BOOL missing_dmusic(void)
+{
+    IDirectMusic8 *dm;
+    HRESULT hr = CoCreateInstance(&CLSID_DirectMusic, (IUnknown*)&dm, CLSCTX_INPROC_SERVER,
+            &IID_IUnknown, (void**)&dm);
+
+    return (hr == REGDB_E_CLASSNOTREG || hr == CLASS_E_CLASSNOTAVAILABLE);
+}
+
 START_TEST(dmusic)
 {
     CoInitializeEx(NULL, COINIT_MULTITHREADED);
 
+    if (missing_dmusic())
+    {
+        skip("DirectMusic not available\n");
+        CoUninitialize();
+        return;
+    }
     test_dmusic();
     test_dmbuffer();
 
-- 
1.8.3.1



More information about the wine-patches mailing list