[PATCH] mmdevapi/tests: Fix some test failures on Windows <= 7.
Sven Baars
sbaars at codeweavers.com
Sun Oct 11 06:20:22 CDT 2020
Signed-off-by: Sven Baars <sbaars at codeweavers.com>
---
dlls/mmdevapi/tests/mmdevenum.c | 7 ++++
dlls/mmdevapi/tests/render.c | 60 ++++++++++++++++++---------------
2 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/dlls/mmdevapi/tests/mmdevenum.c b/dlls/mmdevapi/tests/mmdevenum.c
index 11df1f0229b..4708c2fef84 100644
--- a/dlls/mmdevapi/tests/mmdevenum.c
+++ b/dlls/mmdevapi/tests/mmdevenum.c
@@ -218,6 +218,13 @@ static void test_ActivateAudioInterfaceAsync(void)
h_mmdev = LoadLibraryA("mmdevapi.dll");
+ pActivateAudioInterfaceAsync = (void*)GetProcAddress(h_mmdev, "ActivateAudioInterfaceAsync");
+ if (!pActivateAudioInterfaceAsync)
+ {
+ win_skip("ActivateAudioInterfaceAsync is not supported on Win <= 7\n");
+ return;
+ }
+
/* some applications look this up by ordinal */
pActivateAudioInterfaceAsync = (void*)GetProcAddress(h_mmdev, (char *)17);
ok(pActivateAudioInterfaceAsync != NULL, "mmdevapi.ActivateAudioInterfaceAsync missing!\n");
diff --git a/dlls/mmdevapi/tests/render.c b/dlls/mmdevapi/tests/render.c
index 5800ec5fd66..3ad00eaa2e2 100644
--- a/dlls/mmdevapi/tests/render.c
+++ b/dlls/mmdevapi/tests/render.c
@@ -154,8 +154,11 @@ static void test_audioclient(void)
hr = IMMDevice_Activate(dev, &IID_IAudioClient2, CLSCTX_INPROC_SERVER,
NULL, (void**)&ac2);
- ok(hr == S_OK, "IAudioClient2 Activation failed with %08x\n", hr);
- IAudioClient2_Release(ac2);
+ ok(hr == S_OK ||
+ broken(hr == E_NOINTERFACE) /* win7 */,
+ "IAudioClient2 Activation failed with %08x\n", hr);
+ if(hr == S_OK)
+ IAudioClient2_Release(ac2);
hr = IMMDevice_Activate(dev, &IID_IAudioClient, CLSCTX_INPROC_SERVER,
NULL, (void**)&ac);
@@ -262,39 +265,42 @@ static void test_audioclient(void)
}
hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient2, (void**)&ac2);
- ok(hr == S_OK, "Failed to query IAudioClient2 interface: %08x\n", hr);
-
- hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, NULL);
- ok(hr == E_INVALIDARG, "IsOffloadCapable gave wrong error: %08x\n", hr);
+ if (hr == S_OK)
+ {
+ hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, NULL);
+ ok(hr == E_INVALIDARG, "IsOffloadCapable gave wrong error: %08x\n", hr);
- hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, &offload_capable);
- ok(hr == S_OK, "IsOffloadCapable failed: %08x\n", hr);
+ hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, &offload_capable);
+ ok(hr == S_OK, "IsOffloadCapable failed: %08x\n", hr);
- hr = IAudioClient2_SetClientProperties(ac2, NULL);
- ok(hr == E_POINTER, "SetClientProperties with NULL props gave wrong error: %08x\n", hr);
+ hr = IAudioClient2_SetClientProperties(ac2, NULL);
+ ok(hr == E_POINTER, "SetClientProperties with NULL props gave wrong error: %08x\n", hr);
- client_props.cbSize = 0;
- client_props.bIsOffload = FALSE;
- client_props.eCategory = AudioCategory_BackgroundCapableMedia;
- client_props.Options = 0;
+ client_props.cbSize = 0;
+ client_props.bIsOffload = FALSE;
+ client_props.eCategory = AudioCategory_BackgroundCapableMedia;
+ client_props.Options = 0;
- hr = IAudioClient2_SetClientProperties(ac2, &client_props);
- ok(hr == E_INVALIDARG, "SetClientProperties with invalid cbSize gave wrong error: %08x\n", hr);
+ hr = IAudioClient2_SetClientProperties(ac2, &client_props);
+ ok(hr == E_INVALIDARG, "SetClientProperties with invalid cbSize gave wrong error: %08x\n", hr);
- client_props.cbSize = sizeof(client_props);
- client_props.bIsOffload = TRUE;
+ client_props.cbSize = sizeof(client_props);
+ client_props.bIsOffload = TRUE;
- hr = IAudioClient2_SetClientProperties(ac2, &client_props);
- if(!offload_capable)
- ok(hr == AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE, "SetClientProperties(offload) gave wrong error: %08x\n", hr);
- else
- ok(hr == S_OK, "SetClientProperties(offload) failed: %08x\n", hr);
+ hr = IAudioClient2_SetClientProperties(ac2, &client_props);
+ if(!offload_capable)
+ ok(hr == AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE, "SetClientProperties(offload) gave wrong error: %08x\n", hr);
+ else
+ ok(hr == S_OK, "SetClientProperties(offload) failed: %08x\n", hr);
- client_props.bIsOffload = FALSE;
- hr = IAudioClient2_SetClientProperties(ac2, &client_props);
- ok(hr == S_OK, "SetClientProperties failed: %08x\n", hr);
+ client_props.bIsOffload = FALSE;
+ hr = IAudioClient2_SetClientProperties(ac2, &client_props);
+ ok(hr == S_OK, "SetClientProperties failed: %08x\n", hr);
- IAudioClient2_Release(ac2);
+ IAudioClient2_Release(ac2);
+ }
+ else
+ win_skip("IAudioClient2 is not present on Win <= 7\n");
hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient3, (void**)&ac3);
ok(hr == S_OK ||
--
2.25.1
More information about the wine-devel
mailing list