Author: akhaldi
Date: Thu Aug 18 10:30:35 2016
New Revision: 72299

URL: http://svn.reactos.org/svn/reactos?rev=72299&view=rev
Log:
[OLEAUT32_WINETEST] Sync with Wine Staging 1.9.16. CORE-11866

Modified:
    trunk/rostests/winetests/oleaut32/safearray.c
    trunk/rostests/winetests/oleaut32/test_tlb.idl
    trunk/rostests/winetests/oleaut32/typelib.c
    trunk/rostests/winetests/oleaut32/vartype.c

Modified: trunk/rostests/winetests/oleaut32/safearray.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/oleaut32/safearray.c?rev=72299&r1=72298&r2=72299&view=diff
==============================================================================
--- trunk/rostests/winetests/oleaut32/safearray.c       [iso-8859-1] (original)
+++ trunk/rostests/winetests/oleaut32/safearray.c       [iso-8859-1] Thu Aug 18 
10:30:35 2016
@@ -710,7 +710,9 @@
     }
 
     if (!pSafeArrayAllocDescriptorEx)
+    {
         return;
+    }
 
        for (i=0;i<sizeof(vttypes)/sizeof(vttypes[0]);i++) {
                a = NULL;

Modified: trunk/rostests/winetests/oleaut32/test_tlb.idl
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/oleaut32/test_tlb.idl?rev=72299&r1=72298&r2=72299&view=diff
==============================================================================
--- trunk/rostests/winetests/oleaut32/test_tlb.idl      [iso-8859-1] (original)
+++ trunk/rostests/winetests/oleaut32/test_tlb.idl      [iso-8859-1] Thu Aug 18 
10:30:35 2016
@@ -23,6 +23,8 @@
 #pragma makedep typelib
 
 import "oaidl.idl"; /* needed by widl */
+
+midl_pragma warning ( disable : 2368 )
 
 [uuid(8b05fe77-4a6c-4133-b9cd-8f81747af784)]
 library Test

Modified: trunk/rostests/winetests/oleaut32/typelib.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/oleaut32/typelib.c?rev=72299&r1=72298&r2=72299&view=diff
==============================================================================
--- trunk/rostests/winetests/oleaut32/typelib.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/oleaut32/typelib.c [iso-8859-1] Thu Aug 18 
10:30:35 2016
@@ -2902,11 +2902,7 @@
     ok(typeattr->cFuncs == 13, "cFuncs = %d\n", typeattr->cFuncs);
     ok(typeattr->cVars == 0, "cVars = %d\n", typeattr->cVars);
     ok(typeattr->cImplTypes == 1, "cImplTypes = %d\n", typeattr->cImplTypes);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(typeattr->cbSizeVft == 16 * sizeof(void*), "cbSizeVft = 
%d\n", typeattr->cbSizeVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(typeattr->cbSizeVft == 16 * sizeof(void*), "cbSizeVft = %d\n", 
typeattr->cbSizeVft);
     ok(typeattr->cbAlignment == alignment, "cbAlignment = %d\n", 
typeattr->cbAlignment);
     ok(typeattr->wTypeFlags == 0, "wTypeFlags = %d\n", typeattr->wTypeFlags);
@@ -2980,11 +2976,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 0, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 4 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 4 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3009,11 +3001,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 0, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 5 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 5 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3038,11 +3026,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 2, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 6 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 6 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3102,11 +3086,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 2, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 7 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 7 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3153,11 +3133,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 1, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 8 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 8 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3195,11 +3171,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 1, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 9 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 9 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VARIANT, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3237,11 +3209,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 2, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 10 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 10 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3282,11 +3250,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 1, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 11 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 11 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3322,11 +3286,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 0, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 12 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 12 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_BSTR, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3358,11 +3318,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 1, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 13 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 13 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3396,11 +3352,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 1, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 14 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 14 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3432,11 +3384,7 @@
     ok(pfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", pfuncdesc->callconv);
     ok(pfuncdesc->cParams == 1, "got %d\n", pfuncdesc->cParams);
     ok(pfuncdesc->cParamsOpt == 0, "got %d\n", pfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(pfuncdesc->oVft == 15 * sizeof(void*), "got %d\n", 
pfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(pfuncdesc->oVft == 15 * sizeof(void*), "got %d\n", pfuncdesc->oVft);
     ok(pfuncdesc->cScodes == 0, "got %d\n", pfuncdesc->cScodes);
     ok(pfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
pfuncdesc->elemdescFunc.tdesc.vt);
@@ -3664,11 +3612,7 @@
     ok(bindptr.lpfuncdesc->callconv == CC_STDCALL, "got 0x%x\n", 
bindptr.lpfuncdesc->callconv);
     ok(bindptr.lpfuncdesc->cParams == 8, "got %d\n", 
bindptr.lpfuncdesc->cParams);
     ok(bindptr.lpfuncdesc->cParamsOpt == 0, "got %d\n", 
bindptr.lpfuncdesc->cParamsOpt);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(bindptr.lpfuncdesc->oVft == 6 * sizeof(void*), "got 
%x\n", bindptr.lpfuncdesc->oVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(bindptr.lpfuncdesc->oVft == 6 * sizeof(void*), "got %x\n", 
bindptr.lpfuncdesc->oVft);
     ok(bindptr.lpfuncdesc->cScodes == 0, "got %d\n", 
bindptr.lpfuncdesc->cScodes);
     ok(bindptr.lpfuncdesc->elemdescFunc.tdesc.vt == VT_VOID, "got %d\n", 
bindptr.lpfuncdesc->elemdescFunc.tdesc.vt);
@@ -3692,11 +3636,7 @@
     ok(typeattr->cFuncs == 1, "cFuncs = %d\n", typeattr->cFuncs);
     ok(typeattr->cVars == 0, "cVars = %d\n", typeattr->cVars);
     ok(typeattr->cImplTypes == 1, "cImplTypes = %d\n", typeattr->cImplTypes);
-#ifdef _WIN64
-    if(sys == SYS_WIN32)
-        todo_wine ok(typeattr->cbSizeVft == 8 * sizeof(void*), "cbSizeVft = 
%d\n", typeattr->cbSizeVft);
-    else
-#endif
+    todo_wine_if(is_win64 && sys == SYS_WIN32)
         ok(typeattr->cbSizeVft == 8 * sizeof(void*), "cbSizeVft = %d\n", 
typeattr->cbSizeVft);
     ok(typeattr->cbAlignment == alignment, "cbAlignment = %d\n", 
typeattr->cbAlignment);
     ok(typeattr->wTypeFlags == (TYPEFLAG_FDISPATCHABLE | TYPEFLAG_FDUAL), 
"wTypeFlags = 0x%x\n", typeattr->wTypeFlags);

Modified: trunk/rostests/winetests/oleaut32/vartype.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/oleaut32/vartype.c?rev=72299&r1=72298&r2=72299&view=diff
==============================================================================
--- trunk/rostests/winetests/oleaut32/vartype.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/oleaut32/vartype.c [iso-8859-1] Thu Aug 18 
10:30:35 2016
@@ -5894,6 +5894,16 @@
 
   lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
 
+  /* NULL IUnknown -> IDispatch */
+  V_VT(&vSrc) = VT_UNKNOWN;
+  V_UNKNOWN(&vSrc) = NULL;
+  VariantInit(&vDst);
+  V_DISPATCH(&vDst) = (void*)0xdeadbeef;
+  hres = VariantChangeTypeEx(&vDst, &vSrc, lcid, 0, VT_DISPATCH);
+  ok(hres == S_OK && V_VT(&vDst) == VT_DISPATCH && V_DISPATCH(&vDst) == NULL,
+     "change unk(src,dst): expected 0x%08x,%d,%p, got 0x%08x,%d,%p\n",
+     S_OK, VT_DISPATCH, NULL, hres, V_VT(&vDst), V_DISPATCH(&vDst));
+
   V_VT(&vSrc) = VT_UNKNOWN;
   V_UNKNOWN(&vSrc) = pu;
 
@@ -6037,6 +6047,16 @@
   pd = &d.IDispatch_iface;
 
   lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
+
+  /* NULL IDispatch -> IUnknown */
+  V_VT(&vSrc) = VT_DISPATCH;
+  V_DISPATCH(&vSrc) = NULL;
+  VariantInit(&vDst);
+  V_UNKNOWN(&vDst) = (void*)0xdeadbeef;
+  hres = VariantChangeTypeEx(&vDst, &vSrc, lcid, 0, VT_UNKNOWN);
+  ok(hres == S_OK && V_VT(&vDst) == VT_UNKNOWN && V_UNKNOWN(&vDst) == NULL,
+     "change unk(src,dst): expected 0x%08x,%d,%p, got 0x%08x,%d,%p\n",
+     S_OK, VT_UNKNOWN, NULL, hres, V_VT(&vDst), V_UNKNOWN(&vDst));
 
   V_VT(&vSrc) = VT_DISPATCH;
   V_DISPATCH(&vSrc) = pd;


Reply via email to