[PATCH] ole32/tests: Some tests for CoGetMalloc()
Nikolay Sivov
nsivov at codeweavers.com
Fri Dec 4 03:19:26 CST 2015
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/ole32/tests/compobj.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/dlls/ole32/tests/compobj.c b/dlls/ole32/tests/compobj.c
index b03e861..10eb2fa 100644
--- a/dlls/ole32/tests/compobj.c
+++ b/dlls/ole32/tests/compobj.c
@@ -2619,6 +2619,51 @@ static void test_CoWaitForMultipleHandles(void)
CoUninitialize();
}
+static void test_CoGetMalloc(void)
+{
+ IMalloc *imalloc;
+ HRESULT hr;
+
+if (0) /* crashes on native */
+ hr = CoGetMalloc(0, NULL);
+
+ imalloc = (void*)0xdeadbeef;
+ hr = CoGetMalloc(0, &imalloc);
+todo_wine {
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+ ok(imalloc == NULL, "got %p\n", imalloc);
+}
+ imalloc = (void*)0xdeadbeef;
+ hr = CoGetMalloc(MEMCTX_SHARED, &imalloc);
+todo_wine {
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+ ok(imalloc == NULL, "got %p\n", imalloc);
+}
+ imalloc = (void*)0xdeadbeef;
+ hr = CoGetMalloc(MEMCTX_MACSYSTEM, &imalloc);
+todo_wine {
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+ ok(imalloc == NULL, "got %p\n", imalloc);
+}
+ imalloc = (void*)0xdeadbeef;
+ hr = CoGetMalloc(MEMCTX_UNKNOWN, &imalloc);
+todo_wine {
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+ ok(imalloc == NULL, "got %p\n", imalloc);
+}
+ imalloc = (void*)0xdeadbeef;
+ hr = CoGetMalloc(MEMCTX_SAME, &imalloc);
+todo_wine {
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+ ok(imalloc == NULL, "got %p\n", imalloc);
+}
+ imalloc = NULL;
+ hr = CoGetMalloc(MEMCTX_TASK, &imalloc);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(imalloc != NULL, "got %p\n", imalloc);
+ IMalloc_Release(imalloc);
+}
+
static void init_funcs(void)
{
HMODULE hOle32 = GetModuleHandleA("ole32");
@@ -2681,4 +2726,5 @@ START_TEST(compobj)
test_OleRegGetMiscStatus();
test_CoCreateGuid();
test_CoWaitForMultipleHandles();
+ test_CoGetMalloc();
}
--
2.6.2
More information about the wine-patches
mailing list