Jacek Caban : oleaut32: Fixed duplicated UUIDs and relevant tests.

Alexandre Julliard julliard at winehq.org
Tue Jul 2 14:31:29 CDT 2013


Module: wine
Branch: master
Commit: 9b3d0fca577004ed9cbcf92875f6b16681f8bb3b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9b3d0fca577004ed9cbcf92875f6b16681f8bb3b

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jul  2 15:16:04 2013 +0200

oleaut32: Fixed duplicated UUIDs and relevant tests.

Spotted by Thomas Faber.

---

 dlls/oleaut32/tests/tmarshal.c   |   24 +++++++++++++++---------
 dlls/oleaut32/tests/tmarshal.idl |    2 +-
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
index e4019bd..5d9aba9 100644
--- a/dlls/oleaut32/tests/tmarshal.c
+++ b/dlls/oleaut32/tests/tmarshal.c
@@ -152,6 +152,7 @@ static void end_host_object(DWORD tid, HANDLE thread)
 }
 
 static int external_connections;
+static BOOL expect_last_release_closes;
 
 static HRESULT WINAPI ExternalConnection_QueryInterface(IExternalConnection *iface, REFIID riid, void **ppv)
 {
@@ -187,12 +188,9 @@ static DWORD WINAPI ExternalConnection_ReleaseConnection(IExternalConnection *if
     ok(extconn == EXTCONN_STRONG, "extconn = %d\n", extconn);
     ok(!reserved, "reserved = %x\n", reserved);
 
-    /* This may need to be adjusted if we'll add more complex tests. */
-    if(--external_connections)
-        ok(!fLastReleaseCloses, "fLastReleaseCloses = %x\n", fLastReleaseCloses);
-    else
-        ok(fLastReleaseCloses, "fLastReleaseCloses = %x\n", fLastReleaseCloses);
-    return external_connections;
+    ok(fLastReleaseCloses == expect_last_release_closes, "fLastReleaseCloses = %x, expected %x\n",
+       fLastReleaseCloses, expect_last_release_closes);
+    return --external_connections;
 }
 
 static const IExternalConnectionVtbl ExternalConnectionVtbl = {
@@ -1842,6 +1840,7 @@ static void test_external_connection(void)
     external_connections = 0;
 
     /* Marshaling an interface increases external connection count. */
+    expect_last_release_closes = FALSE;
     hres = CreateStreamOnHGlobal(NULL, TRUE, &stream);
     ok(hres == S_OK, "CreateStreamOnHGlobal failed: %08x\n", hres);
     tid = start_host_object(stream, &IID_ItestDual, (IUnknown*)&TestDual, MSHLFLAGS_NORMAL, &thread);
@@ -1855,14 +1854,17 @@ static void test_external_connection(void)
     IStream_Release(stream);
     ok(external_connections == 1, "external_connections = %d\n", external_connections);
 
-    /* Creating a stub for new iface does not cause new external connection. */
+    /* Creating a stub for new iface causes new external connection. */
     hres = ItestDual_QueryInterface(iface, &IID_ITestSecondDisp, (void**)&second);
     ok(hres == S_OK, "Could not get ITestSecondDisp iface: %08x\n", hres);
-    ok(external_connections == 1, "external_connections = %d\n", external_connections);
+    todo_wine
+    ok(external_connections == 2, "external_connections = %d\n", external_connections);
 
     ITestSecondDisp_Release(second);
-    ok(external_connections == 1, "external_connections = %d\n", external_connections);
+    todo_wine
+    ok(external_connections == 2, "external_connections = %d\n", external_connections);
 
+    expect_last_release_closes = TRUE;
     ItestDual_Release(iface);
     ok(external_connections == 0, "external_connections = %d\n", external_connections);
 
@@ -1872,10 +1874,12 @@ static void test_external_connection(void)
     hres = CreateStreamOnHGlobal(NULL, TRUE, &stream);
     ok(hres == S_OK, "CreateStreamOnHGlobal failed: %08x\n", hres);
 
+    expect_last_release_closes = FALSE;
     hres = CoMarshalInterface(stream, &IID_ItestDual, (IUnknown*)&TestDual, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
     ok(hres == S_OK, "CoMarshalInterface failed: %08x\n", hres);
     ok(external_connections == 1, "external_connections = %d\n", external_connections);
 
+    expect_last_release_closes = TRUE;
     IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL);
     hres = CoReleaseMarshalData(stream);
     ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres);
@@ -1885,6 +1889,7 @@ static void test_external_connection(void)
     hres = CreateStreamOnHGlobal(NULL, TRUE, &stream2);
     ok(hres == S_OK, "CreateStreamOnHGlobal failed: %08x\n", hres);
 
+    expect_last_release_closes = FALSE;
     IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL);
     hres = CoMarshalInterface(stream, &IID_ItestDual, (IUnknown*)&TestDual, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
     ok(hres == S_OK, "CoMarshalInterface failed: %08x\n", hres);
@@ -1899,6 +1904,7 @@ static void test_external_connection(void)
     ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres);
     ok(external_connections == 1, "external_connections = %d\n", external_connections);
 
+    expect_last_release_closes = TRUE;
     IStream_Seek(stream2, zero, STREAM_SEEK_SET, NULL);
     hres = CoReleaseMarshalData(stream2);
     ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres);
diff --git a/dlls/oleaut32/tests/tmarshal.idl b/dlls/oleaut32/tests/tmarshal.idl
index 0f0186b..b130346 100644
--- a/dlls/oleaut32/tests/tmarshal.idl
+++ b/dlls/oleaut32/tests/tmarshal.idl
@@ -77,7 +77,7 @@ library TestTypelib
         odl,
         oleautomation,
         dual,
-        uuid(3f7e06fe-0bce-46f0-8b7d-3a68393c7967)
+        uuid(3f7e06fe-0bce-46f0-8b7d-3a68393c7969)
     ]
     interface ITestSecondDisp : IDispatch
     {




More information about the wine-cvs mailing list