[PATCH] sapi/tests: Update SpResourceManager test expectations for newer Windows.
Gijs Vermeulen
gijsvrm at gmail.com
Mon Mar 22 11:47:44 CDT 2021
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50841
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
---
dlls/sapi/tests/resource.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/sapi/tests/resource.c b/dlls/sapi/tests/resource.c
index cbddaf6323a..e7776c9124a 100644
--- a/dlls/sapi/tests/resource.c
+++ b/dlls/sapi/tests/resource.c
@@ -25,13 +25,14 @@
#include "wine/test.h"
-#define EXPECT_REF(obj,ref) _expect_ref((IUnknown*)obj, ref, __LINE__)
-static void _expect_ref(IUnknown *obj, ULONG ref, int line)
+#define EXPECT_REF_BROKEN(obj,ref,brokenref) _expect_ref_broken((IUnknown*)obj, ref, brokenref, __LINE__)
+static void _expect_ref_broken(IUnknown *obj, ULONG ref, ULONG brokenref, int line)
{
ULONG rc;
IUnknown_AddRef(obj);
rc = IUnknown_Release(obj);
- ok_(__FILE__,line)(rc == ref, "Unexpected refcount %d, expected %d.\n", rc, ref);
+ ok_(__FILE__,line)(rc == ref || broken(rc == brokenref) /* <Win7 */,
+ "Unexpected refcount %d, expected %d.\n", rc, ref);
}
static void test_interfaces(void)
@@ -44,25 +45,25 @@ static void test_interfaces(void)
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpResourceManager, (void **)&resource_manager);
ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#x.\n", hr);
- EXPECT_REF(resource_manager, 1);
+ todo_wine EXPECT_REF_BROKEN(resource_manager, 2, 1);
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpResourceManager, (void **)&resource_manager2);
ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#x.\n", hr);
todo_wine ok(resource_manager2 == resource_manager, "Expected managers to match.\n");
- todo_wine EXPECT_REF(resource_manager2, 2);
- todo_wine EXPECT_REF(resource_manager, 2);
+ todo_wine EXPECT_REF_BROKEN(resource_manager2, 3, 2);
+ todo_wine EXPECT_REF_BROKEN(resource_manager, 3, 2);
if (resource_manager2 == resource_manager) ISpResourceManager_Release(resource_manager2);
- EXPECT_REF(resource_manager, 1);
+ todo_wine EXPECT_REF_BROKEN(resource_manager, 2, 1);
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void **)&unk);
ok(hr == S_OK, "Failed to create IUnknown interface: %#x.\n", hr);
todo_wine ok(unk == (IUnknown *)resource_manager, "Expected unk to match existing manager.\n");
- todo_wine EXPECT_REF(unk, 2);
- todo_wine EXPECT_REF(resource_manager, 2);
+ todo_wine EXPECT_REF_BROKEN(unk, 3, 2);
+ todo_wine EXPECT_REF_BROKEN(resource_manager, 3, 2);
if (unk == (IUnknown *)resource_manager) IUnknown_Release(unk);
- EXPECT_REF(resource_manager, 1);
+ todo_wine EXPECT_REF_BROKEN(resource_manager, 2, 1);
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_IDispatch, (void **)&dispatch);
--
2.31.0
More information about the wine-devel
mailing list