[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