Nikolay Sivov : kernel32/tests: Some tests for ' comInterfaceExternalProxyStub' data.
Alexandre Julliard
julliard at winehq.org
Mon Sep 2 14:34:28 CDT 2013
Module: wine
Branch: master
Commit: 3c0b7ba0297a9afaadec8d4071d7c2402d868c74
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3c0b7ba0297a9afaadec8d4071d7c2402d868c74
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Aug 30 11:20:10 2013 +0400
kernel32/tests: Some tests for 'comInterfaceExternalProxyStub' data.
---
dlls/kernel32/tests/actctx.c | 25 ++++++++++++++++++++++---
1 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/tests/actctx.c b/dlls/kernel32/tests/actctx.c
index 39c105a..059ce44 100644
--- a/dlls/kernel32/tests/actctx.c
+++ b/dlls/kernel32/tests/actctx.c
@@ -91,6 +91,8 @@ DEFINE_GUID(IID_TlibTest3, 0x99999999, 0x8888, 0x7777, 0x66, 0x66, 0x55, 0x55, 0
DEFINE_GUID(IID_TlibTest4, 0x99999999, 0x8888, 0x7777, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x58);
DEFINE_GUID(IID_Iifaceps, 0x66666666, 0x8888, 0x7777, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55);
DEFINE_GUID(IID_Ibifaceps, 0x66666666, 0x8888, 0x7777, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57);
+DEFINE_GUID(IID_Iifaceps2, 0x76666666, 0x8888, 0x7777, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55);
+DEFINE_GUID(IID_PS32, 0x66666666, 0x8888, 0x7777, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56);
static const char manifest3[] =
"<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">"
@@ -119,6 +121,14 @@ static const char manifest3[] =
" baseInterface=\"{66666666-8888-7777-6666-555555555557}\""
" />"
"</file>"
+" <comInterfaceExternalProxyStub "
+" name=\"Iifaceps2\""
+" tlbid=\"{99999999-8888-7777-6666-555555555558}\""
+" iid=\"{76666666-8888-7777-6666-555555555555}\""
+" proxyStubClsid32=\"{66666666-8888-7777-6666-555555555556}\""
+" numMethods=\"10\""
+" baseInterface=\"{66666666-8888-7777-6666-555555555557}\""
+" />"
"</assembly>";
static const char manifest_wndcls1[] =
@@ -1232,7 +1242,8 @@ struct ifacepsredirect_data
ULONG name_offset;
};
-static void test_find_ifaceps_redirection(HANDLE handle, const GUID *iid, const GUID *tlbid, const GUID *base, ULONG exid, int line)
+static void test_find_ifaceps_redirection(HANDLE handle, const GUID *iid, const GUID *tlbid, const GUID *base,
+ const GUID *ps32, ULONG exid, int line)
{
struct ifacepsredirect_data *ifaceps;
ACTCTX_SECTION_KEYED_DATA data;
@@ -1262,7 +1273,14 @@ todo_wine
{
ULONG len;
- ok_(__FILE__, line)(IsEqualGUID(&ifaceps->iid, iid), "got wrong iid %s\n", debugstr_guid(&ifaceps->iid));
+ /* for external proxy stubs it contains a value from 'proxyStubClsid32' */
+ if (ps32)
+ {
+ ok_(__FILE__, line)(IsEqualGUID(&ifaceps->iid, ps32), "got wrong iid %s\n", debugstr_guid(&ifaceps->iid));
+ }
+ else
+ ok_(__FILE__, line)(IsEqualGUID(&ifaceps->iid, iid), "got wrong iid %s\n", debugstr_guid(&ifaceps->iid));
+
ok_(__FILE__, line)(IsEqualGUID(&ifaceps->tlbid, tlbid), "got wrong tlid %s\n", debugstr_guid(&ifaceps->tlbid));
ok_(__FILE__, line)(ifaceps->name_len > 0, "got modulename len %d\n", ifaceps->name_len);
ok_(__FILE__, line)(ifaceps->name_offset == ifaceps->size, "got progid offset %d\n", ifaceps->name_offset);
@@ -1609,7 +1627,8 @@ static void test_actctx(void)
test_find_dll_redirection(handle, testlib_dll, 1, __LINE__);
test_find_dll_redirection(handle, testlib_dll, 1, __LINE__);
test_find_com_redirection(handle, &IID_CoTest, &IID_TlibTest, 1, __LINE__);
- test_find_ifaceps_redirection(handle, &IID_Iifaceps, &IID_TlibTest4, &IID_Ibifaceps, 1, __LINE__);
+ test_find_ifaceps_redirection(handle, &IID_Iifaceps, &IID_TlibTest4, &IID_Ibifaceps, NULL, 1, __LINE__);
+ test_find_ifaceps_redirection(handle, &IID_Iifaceps2, &IID_TlibTest4, &IID_Ibifaceps, &IID_PS32, 1, __LINE__);
test_find_string_fail();
b = pDeactivateActCtx(0, cookie);
ok(b, "DeactivateActCtx failed: %u\n", GetLastError());
More information about the wine-cvs
mailing list