Nikolay Sivov : mf/tests: Skip all tests on Vista.
Alexandre Julliard
julliard at winehq.org
Tue Feb 23 15:54:47 CST 2021
Module: wine
Branch: master
Commit: b9ceaa6fed82e3fc70c601ea34eff71e55c37f21
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b9ceaa6fed82e3fc70c601ea34eff71e55c37f21
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Feb 23 16:12:10 2021 +0300
mf/tests: Skip all tests on Vista.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mf/tests/mf.c | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index e3a752553bb..40d8561bb06 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -48,6 +48,12 @@ DEFINE_GUID(MFVideoFormat_ABGR32, 0x00000020, 0x0000, 0x0010, 0x80, 0x00, 0x00,
#include "wine/test.h"
static HRESULT (WINAPI *pMFCreateSampleCopierMFT)(IMFTransform **copier);
+static HRESULT (WINAPI *pMFGetTopoNodeCurrentType)(IMFTopologyNode *node, DWORD stream, BOOL output, IMFMediaType **type);
+
+static BOOL is_vista(void)
+{
+ return !pMFGetTopoNodeCurrentType;
+}
#define EXPECT_REF(obj,ref) _expect_ref((IUnknown*)obj, ref, __LINE__)
static void _expect_ref(IUnknown* obj, ULONG expected_refcount, int line)
@@ -5089,14 +5095,20 @@ static void test_MFGetTopoNodeCurrentType(void)
IMFTopologyNode *node;
HRESULT hr;
+ if (!pMFGetTopoNodeCurrentType)
+ {
+ win_skip("MFGetTopoNodeCurrentType() is unsupported.\n");
+ return;
+ }
+
/* Tee node. */
hr = MFCreateTopologyNode(MF_TOPOLOGY_TEE_NODE, &node);
ok(hr == S_OK, "Failed to create a node, hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, TRUE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, TRUE, &media_type);
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
hr = MFCreateMediaType(&media_type2);
@@ -5109,7 +5121,7 @@ static void test_MFGetTopoNodeCurrentType(void)
hr = IMFTopologyNode_SetInputPrefType(node, 0, media_type2);
ok(hr == S_OK, "Failed to set media type, hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
ok(media_type == media_type2, "Unexpected pointer.\n");
IMFMediaType_Release(media_type);
@@ -5117,14 +5129,14 @@ static void test_MFGetTopoNodeCurrentType(void)
hr = IMFTopologyNode_SetInputPrefType(node, 0, NULL);
ok(hr == S_OK, "Failed to set media type, hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
/* Set second output. */
hr = IMFTopologyNode_SetOutputPrefType(node, 1, media_type2);
ok(hr == S_OK, "Failed to set media type, hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
ok(hr == E_FAIL, "Unexpected hr %#x.\n", hr);
hr = IMFTopologyNode_SetOutputPrefType(node, 1, NULL);
@@ -5134,7 +5146,7 @@ static void test_MFGetTopoNodeCurrentType(void)
hr = IMFTopologyNode_SetOutputPrefType(node, 0, media_type2);
ok(hr == S_OK, "Failed to set media type, hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
ok(media_type == media_type2, "Unexpected pointer.\n");
IMFMediaType_Release(media_type);
@@ -5149,12 +5161,12 @@ static void test_MFGetTopoNodeCurrentType(void)
hr = IMFTopologyNode_SetUINT32(node, &MF_TOPONODE_PRIMARYOUTPUT, 1);
ok(hr == S_OK, "Failed to set attribute, hr %#x.\n", hr);
- hr = MFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, FALSE, &media_type);
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
ok(media_type == media_type2, "Unexpected pointer.\n");
IMFMediaType_Release(media_type);
- hr = MFGetTopoNodeCurrentType(node, 0, TRUE, &media_type);
+ hr = pMFGetTopoNodeCurrentType(node, 0, TRUE, &media_type);
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
ok(media_type == media_type2, "Unexpected pointer.\n");
IMFMediaType_Release(media_type);
@@ -5169,6 +5181,7 @@ static void init_functions(void)
#define X(f) p##f = (void*)GetProcAddress(mod, #f)
X(MFCreateSampleCopierMFT);
+ X(MFGetTopoNodeCurrentType);
#undef X
}
@@ -5176,6 +5189,12 @@ START_TEST(mf)
{
init_functions();
+ if (is_vista())
+ {
+ win_skip("Skipping tests on Vista.\n");
+ return;
+ }
+
test_topology();
test_topology_tee_node();
test_topology_loader();
More information about the wine-cvs
mailing list