[PATCH] oleaut32/tests: Remove some workarounds for functions that are assumed to be available.

Nikolay Sivov nsivov at codeweavers.com
Wed Jan 8 03:03:54 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---

These exports are already used directly in existing tests.

 dlls/oleaut32/tests/safearray.c  | 140 +++++++++++++------------------
 dlls/oleaut32/tests/usrmarshal.c |  15 ++--
 dlls/oleaut32/tests/varformat.c  |  38 ++++-----
 3 files changed, 81 insertions(+), 112 deletions(-)

diff --git a/dlls/oleaut32/tests/safearray.c b/dlls/oleaut32/tests/safearray.c
index 9cc3793bc7..af64211036 100644
--- a/dlls/oleaut32/tests/safearray.c
+++ b/dlls/oleaut32/tests/safearray.c
@@ -46,11 +46,9 @@
 static HMODULE hOleaut32;
 
 static HRESULT (WINAPI *pSafeArrayAllocDescriptorEx)(VARTYPE,UINT,SAFEARRAY**);
-static HRESULT (WINAPI *pSafeArrayCopyData)(SAFEARRAY*,SAFEARRAY*);
 static HRESULT (WINAPI *pSafeArrayGetVartype)(SAFEARRAY*,VARTYPE*);
 static HRESULT (WINAPI *pSafeArrayGetRecordInfo)(SAFEARRAY*,IRecordInfo**);
 static SAFEARRAY* (WINAPI *pSafeArrayCreateEx)(VARTYPE,UINT,SAFEARRAYBOUND*,LPVOID);
-static SAFEARRAY* (WINAPI *pSafeArrayCreateVector)(VARTYPE,LONG,ULONG);
 
 #define GETPTR(func) p##func = (void*)GetProcAddress(hOleaut32, #func)
 
@@ -616,13 +614,11 @@ static void test_safearray(void)
             ok(broken(vt == VT_UNKNOWN) || vt == vttypes[i].vt, "SAGVT of array with vt %d returned %d\n", vttypes[i].vt, vt);
         }
 
-        if (pSafeArrayCopyData) {
-            hres = pSafeArrayCopyData(a, c);
-            ok(hres == S_OK, "failed to copy safearray data of vt %d with hres %x\n", vttypes[i].vt, hres);
+        hres = SafeArrayCopyData(a, c);
+        ok(hres == S_OK, "failed to copy safearray data of vt %d with hres %x\n", vttypes[i].vt, hres);
 
-            hres = SafeArrayDestroyData(c);
-            ok(hres == S_OK,"SADD of copy of array with vt %d failed with hres %x\n", vttypes[i].vt, hres);
-        }
+        hres = SafeArrayDestroyData(c);
+        ok(hres == S_OK,"SADD of copy of array with vt %d failed with hres %x\n", vttypes[i].vt, hres);
 
 		hres = SafeArrayDestroy(c);
 		ok(hres == S_OK,"SAD failed with hres %x\n", hres);
@@ -939,12 +935,7 @@ static void test_VectorCreateLockDestroy(void)
   VARTYPE vt;
   int element;
 
-  if (!pSafeArrayCreateVector)
-  {
-    win_skip("SafeArrayCreateVector not supported\n");
-    return;
-  }
-  sa = pSafeArrayCreateVector(VT_UI1, 0, 0);
+  sa = SafeArrayCreateVector(VT_UI1, 0, 0);
   ok(sa != NULL, "SACV with 0 elements failed.\n");
 
   hres = SafeArrayDestroy(sa);
@@ -957,7 +948,7 @@ static void test_VectorCreateLockDestroy(void)
     {
       DWORD dwLen = SAFEARRAY_GetVTSize(vt);
 
-      sa = pSafeArrayCreateVector(vt, 0, element);
+      sa = SafeArrayCreateVector(vt, 0, element);
 
       if (dwLen)
         ok(sa != NULL, "VARTYPE %d (@%d elements) failed\n", vt, element);
@@ -1040,10 +1031,10 @@ test_LockUnlock_Vector:
     ok(hres == S_OK, "got 0x%08x\n", hres);
   }
 
-  if (bVector == FALSE && pSafeArrayCreateVector)
+  if (bVector == FALSE)
   {
     /* Test again with a vector */
-    sa = pSafeArrayCreateVector(VT_UI1, 0, 100);
+    sa = SafeArrayCreateVector(VT_UI1, 0, 100);
     bVector = TRUE;
     goto test_LockUnlock_Vector;
   }
@@ -1376,12 +1367,6 @@ static void test_SafeArrayCopyData(void)
   HRESULT hres;
   int dimension, size = 1, i;
 
-  if (!pSafeArrayCopyData)
-  {
-    win_skip("SafeArrayCopyData not supported\n");
-    return;
-  }
-
   for (dimension = 0; dimension < ARRAY_SIZE(sab); dimension++)
   {
     sab[dimension].lLbound = dimension * 2 + 2;
@@ -1406,7 +1391,7 @@ static void test_SafeArrayCopyData(void)
     data[dimension] = dimension;
   }
 
-  hres = pSafeArrayCopyData(sa, sacopy);
+  hres = SafeArrayCopyData(sa, sacopy);
   ok(hres == S_OK, "copy data failed hres 0x%x\n", hres);
   if (hres == S_OK)
   {
@@ -1414,33 +1399,33 @@ static void test_SafeArrayCopyData(void)
   }
 
   /* Failure cases */
-  hres = pSafeArrayCopyData(NULL, sacopy);
+  hres = SafeArrayCopyData(NULL, sacopy);
   ok(hres == E_INVALIDARG, "Null copy source hres 0x%x\n", hres);
-  hres = pSafeArrayCopyData(sa, NULL);
+  hres = SafeArrayCopyData(sa, NULL);
   ok(hres == E_INVALIDARG, "Null copy hres 0x%x\n", hres);
 
   sacopy->rgsabound[0].cElements += 1;
-  hres = pSafeArrayCopyData(sa, sacopy);
+  hres = SafeArrayCopyData(sa, sacopy);
   ok(hres == E_INVALIDARG, "Bigger copy first dimension hres 0x%x\n", hres);
 
   sacopy->rgsabound[0].cElements -= 2;
-  hres = pSafeArrayCopyData(sa, sacopy);
+  hres = SafeArrayCopyData(sa, sacopy);
   ok(hres == E_INVALIDARG, "Smaller copy first dimension hres 0x%x\n", hres);
   sacopy->rgsabound[0].cElements += 1;
 
   sacopy->rgsabound[3].cElements += 1;
-  hres = pSafeArrayCopyData(sa, sacopy);
+  hres = SafeArrayCopyData(sa, sacopy);
   ok(hres == E_INVALIDARG, "Bigger copy last dimension hres 0x%x\n", hres);
 
   sacopy->rgsabound[3].cElements -= 2;
-  hres = pSafeArrayCopyData(sa, sacopy);
+  hres = SafeArrayCopyData(sa, sacopy);
   ok(hres == E_INVALIDARG, "Smaller copy last dimension hres 0x%x\n", hres);
   sacopy->rgsabound[3].cElements += 1;
 
   hres = SafeArrayDestroy(sacopy);
   ok(hres == S_OK, "got 0x%08x\n", hres);
   sacopy = NULL;
-  hres = pSafeArrayCopyData(sa, sacopy);
+  hres = SafeArrayCopyData(sa, sacopy);
   ok(hres == E_INVALIDARG, "->Null copy hres 0x%x\n", hres);
 
   hres = SafeArrayCopy(sa, &sacopy);
@@ -1828,32 +1813,30 @@ static void test_SafeArrayChangeTypeEx(void)
   /* VT_VECTOR|VT_UI1 -> VT_BSTR */
   hres = SafeArrayDestroy(sa);
   ok(hres == S_OK, "got 0x%08x\n", hres);
-  if (pSafeArrayCreateVector)
-  {
-    sa = pSafeArrayCreateVector(VT_UI1, 0, strlen(szHello)+1);
-    ok(sa != NULL, "CreateVector() failed.\n");
-    if (!sa)
-      return;
 
-    memcpy(sa->pvData, szHello, strlen(szHello)+1);
-    V_VT(&v) = VT_VECTOR|VT_UI1;
-    V_ARRAY(&v) = sa;
-    VariantInit(&v2);
+  sa = SafeArrayCreateVector(VT_UI1, 0, strlen(szHello)+1);
+  ok(sa != NULL, "CreateVector() failed.\n");
+  if (!sa)
+    return;
 
-    hres = VariantChangeTypeEx(&v2, &v, 0, 0, VT_BSTR);
-    ok(hres == DISP_E_BADVARTYPE, "CTE VT_VECTOR|VT_UI1 returned %x\n", hres);
+  memcpy(sa->pvData, szHello, strlen(szHello)+1);
+  V_VT(&v) = VT_VECTOR|VT_UI1;
+  V_ARRAY(&v) = sa;
+  VariantInit(&v2);
 
-    /* (vector)VT_ARRAY|VT_UI1 -> VT_BSTR (In place) */
-    V_VT(&v) = VT_ARRAY|VT_UI1;
-    hres = VariantChangeTypeEx(&v, &v, 0, 0, VT_BSTR);
-    ok(hres == S_OK, "CTE VT_ARRAY|VT_UI1 -> VT_BSTR failed with %x\n", hres);
-    if (hres == S_OK)
-    {
-      ok(V_VT(&v) == VT_BSTR, "CTE VT_ARRAY|VT_UI1 -> VT_BSTR did not return VT_BSTR, but %d.\n",V_VT(&v));
-      ok(strcmp((char*)V_BSTR(&v),szHello) == 0,"Expected string '%s', got '%s'\n", szHello,
-              (char*)V_BSTR(&v));
-      VariantClear(&v);
-    }
+  hres = VariantChangeTypeEx(&v2, &v, 0, 0, VT_BSTR);
+  ok(hres == DISP_E_BADVARTYPE, "CTE VT_VECTOR|VT_UI1 returned %x\n", hres);
+
+  /* (vector)VT_ARRAY|VT_UI1 -> VT_BSTR (In place) */
+  V_VT(&v) = VT_ARRAY|VT_UI1;
+  hres = VariantChangeTypeEx(&v, &v, 0, 0, VT_BSTR);
+  ok(hres == S_OK, "CTE VT_ARRAY|VT_UI1 -> VT_BSTR failed with %x\n", hres);
+  if (hres == S_OK)
+  {
+    ok(V_VT(&v) == VT_BSTR, "CTE VT_ARRAY|VT_UI1 -> VT_BSTR did not return VT_BSTR, but %d.\n",V_VT(&v));
+    ok(strcmp((char*)V_BSTR(&v),szHello) == 0,"Expected string '%s', got '%s'\n", szHello,
+            (char*)V_BSTR(&v));
+    VariantClear(&v);
   }
 
   /* To/from BSTR only works with arrays of VT_UI1 */
@@ -1889,33 +1872,30 @@ static void test_SafeArrayChangeTypeEx(void)
   /* Can't change an array of one type into array of another type , even
    * if the other type is the same size
    */
-  if (pSafeArrayCreateVector)
-  {
-    sa = pSafeArrayCreateVector(VT_UI1, 0, 1);
-    ok(sa != NULL, "CreateVector() failed.\n");
-    if (!sa)
-      return;
+  sa = SafeArrayCreateVector(VT_UI1, 0, 1);
+  ok(sa != NULL, "CreateVector() failed.\n");
+  if (!sa)
+    return;
 
-    V_VT(&v) = VT_ARRAY|VT_UI1;
-    V_ARRAY(&v) = sa;
-    hres = VariantChangeTypeEx(&v2, &v, 0, 0, VT_ARRAY|VT_I1);
-    ok(hres == DISP_E_TYPEMISMATCH, "CTE VT_ARRAY|VT_UI1->VT_ARRAY|VT_I1 returned %x\n", hres);
+  V_VT(&v) = VT_ARRAY|VT_UI1;
+  V_ARRAY(&v) = sa;
+  hres = VariantChangeTypeEx(&v2, &v, 0, 0, VT_ARRAY|VT_I1);
+  ok(hres == DISP_E_TYPEMISMATCH, "CTE VT_ARRAY|VT_UI1->VT_ARRAY|VT_I1 returned %x\n", hres);
 
-    /* But can change to the same array type */
-    hres = SafeArrayDestroy(sa);
-    ok(hres == S_OK, "got 0x%08x\n", hres);
-    sa = pSafeArrayCreateVector(VT_UI1, 0, 1);
-    ok(sa != NULL, "CreateVector() failed.\n");
-    if (!sa)
-      return;
-    V_VT(&v) = VT_ARRAY|VT_UI1;
-    V_ARRAY(&v) = sa;
-    hres = VariantChangeTypeEx(&v2, &v, 0, 0, VT_ARRAY|VT_UI1);
-    ok(hres == S_OK, "CTE VT_ARRAY|VT_UI1->VT_ARRAY|VT_UI1 returned %x\n", hres);
-    hres = SafeArrayDestroy(sa);
-    ok(hres == S_OK, "got 0x%08x\n", hres);
-    VariantClear(&v2);
-  }
+  /* But can change to the same array type */
+  hres = SafeArrayDestroy(sa);
+  ok(hres == S_OK, "got 0x%08x\n", hres);
+  sa = SafeArrayCreateVector(VT_UI1, 0, 1);
+  ok(sa != NULL, "CreateVector() failed.\n");
+  if (!sa)
+    return;
+  V_VT(&v) = VT_ARRAY|VT_UI1;
+  V_ARRAY(&v) = sa;
+  hres = VariantChangeTypeEx(&v2, &v, 0, 0, VT_ARRAY|VT_UI1);
+  ok(hres == S_OK, "CTE VT_ARRAY|VT_UI1->VT_ARRAY|VT_UI1 returned %x\n", hres);
+  hres = SafeArrayDestroy(sa);
+  ok(hres == S_OK, "got 0x%08x\n", hres);
+  VariantClear(&v2);
 
   /* NULL/EMPTY */
   MKARRAY(0,1,VT_UI1);
@@ -2090,10 +2070,8 @@ START_TEST(safearray)
     has_i8 = GetProcAddress(hOleaut32, "VarI8FromI1") != NULL;
 
     GETPTR(SafeArrayAllocDescriptorEx);
-    GETPTR(SafeArrayCopyData);
     GETPTR(SafeArrayGetVartype);
     GETPTR(SafeArrayCreateEx);
-    GETPTR(SafeArrayCreateVector);
     GETPTR(SafeArrayGetRecordInfo);
 
     check_for_VT_INT_PTR();
diff --git a/dlls/oleaut32/tests/usrmarshal.c b/dlls/oleaut32/tests/usrmarshal.c
index 97c05024e5..4fc26f33c6 100644
--- a/dlls/oleaut32/tests/usrmarshal.c
+++ b/dlls/oleaut32/tests/usrmarshal.c
@@ -36,9 +36,7 @@
 # define V_U2(A)  (*(A))
 #endif
 
-static HRESULT (WINAPI *pSafeArrayGetIID)(SAFEARRAY*,GUID*);
 static HRESULT (WINAPI *pSafeArrayGetVartype)(SAFEARRAY*,VARTYPE*);
-static HRESULT (WINAPI *pVarBstrCmp)(BSTR,BSTR,LCID,ULONG);
 
 static inline SF_TYPE get_union_type(SAFEARRAY *psa)
 {
@@ -133,7 +131,7 @@ static void check_safearray(void *buffer, LPSAFEARRAY lpsa)
         return;
     }
 
-    if (!pSafeArrayGetVartype || !pSafeArrayGetIID)
+    if (!pSafeArrayGetVartype)
         return;
 
     if(FAILED(pSafeArrayGetVartype(lpsa, &vt)))
@@ -165,7 +163,7 @@ static void check_safearray(void *buffer, LPSAFEARRAY lpsa)
     if(sftype == SF_HAVEIID)
     {
         GUID guid;
-        pSafeArrayGetIID(lpsa, &guid);
+        SafeArrayGetIID(lpsa, &guid);
         ok(IsEqualGUID(&guid, wiresa), "guid mismatch\n");
         wiresa += sizeof(GUID);
     }
@@ -474,8 +472,7 @@ static void test_marshal_LPSAFEARRAY(void)
             ok(hr == S_OK, "Failed to get bstr element at hres 0x%x\n", hr);
             if (hr == S_OK)
             {
-                if (pVarBstrCmp)
-                    ok(pVarBstrCmp(values[i], gotvalue, 0, 0) == VARCMP_EQ, "String %d does not match\n", i);
+                ok(VarBstrCmp(values[i], gotvalue, 0, 0) == VARCMP_EQ, "String %d does not match\n", i);
                 SysFreeString(gotvalue);
             }
         }
@@ -1613,13 +1610,11 @@ START_TEST(usrmarshal)
 {
     HANDLE hOleaut32 = GetModuleHandleA("oleaut32.dll");
 #define GETPTR(func) p##func = (void*)GetProcAddress(hOleaut32, #func)
-    GETPTR(SafeArrayGetIID);
     GETPTR(SafeArrayGetVartype);
-    GETPTR(VarBstrCmp);
 #undef GETPTR
 
-    if (!pSafeArrayGetIID || !pSafeArrayGetVartype)
-        win_skip("SafeArrayGetIID and/or SafeArrayGetVartype is not available, some tests will be skipped\n");
+    if (!pSafeArrayGetVartype)
+        win_skip("SafeArrayGetVartype is not available, some tests will be skipped\n");
 
     CoInitialize(NULL);
 
diff --git a/dlls/oleaut32/tests/varformat.c b/dlls/oleaut32/tests/varformat.c
index d713894870..394b97991e 100644
--- a/dlls/oleaut32/tests/varformat.c
+++ b/dlls/oleaut32/tests/varformat.c
@@ -39,7 +39,6 @@
 
 static HMODULE hOleaut32;
 
-static HRESULT (WINAPI *pVarBstrCmp)(BSTR,BSTR,LCID,ULONG);
 static HRESULT (WINAPI *pVarFormatNumber)(LPVARIANT,int,int,int,int,ULONG,BSTR*);
 static HRESULT (WINAPI *pVarFormat)(LPVARIANT,LPOLESTR,int,int,ULONG,BSTR*);
 static HRESULT (WINAPI *pVarWeekdayName)(int,int,int,ULONG,BSTR*);
@@ -523,30 +522,27 @@ static void test_VarWeekdayName(void)
      "Null pointer: expected E_INVALIDARG, got 0x%08x\n", hres);
 
   /* Check all combinations */
-  pVarBstrCmp = (void*)GetProcAddress(hOleaut32, "VarBstrCmp");
-  if (pVarBstrCmp)
-    for (iWeekday = 1; iWeekday <= 7; ++iWeekday)
+  for (iWeekday = 1; iWeekday <= 7; ++iWeekday)
+  {
+    for (fAbbrev = 0; fAbbrev <= 1; ++fAbbrev)
     {
-      for (fAbbrev = 0; fAbbrev <= 1; ++fAbbrev)
+      /* 0 = Default, 1 = Sunday, 2 = Monday, .. */
+      for (iFirstDay = 0; iFirstDay <= 7; ++iFirstDay)
       {
-        /* 0 = Default, 1 = Sunday, 2 = Monday, .. */
-        for (iFirstDay = 0; iFirstDay <= 7; ++iFirstDay)
-        {
-          VARWDN_O(iWeekday, fAbbrev, iFirstDay, 0);
-          if (iFirstDay == 0)
-            firstDay = defaultFirstDay;
-          else
-            /* Translate from 0=Sunday to 0=Monday in the modulo 7 space */
-            firstDay = iFirstDay - 2;
-          day = (7 + iWeekday - 1 + firstDay) % 7;
-          ok(VARCMP_EQ == pVarBstrCmp(out, dayNames[day][fAbbrev],
-                                      LOCALE_USER_DEFAULT, 0),
-             "VarWeekdayName(%d,%d,%d): got wrong dayname: '%s'\n",
-             iWeekday, fAbbrev, iFirstDay, buff);
-          SysFreeString(out);
-        }
+        VARWDN_O(iWeekday, fAbbrev, iFirstDay, 0);
+        if (iFirstDay == 0)
+          firstDay = defaultFirstDay;
+        else
+          /* Translate from 0=Sunday to 0=Monday in the modulo 7 space */
+          firstDay = iFirstDay - 2;
+        day = (7 + iWeekday - 1 + firstDay) % 7;
+        ok(VARCMP_EQ == VarBstrCmp(out, dayNames[day][fAbbrev], LOCALE_USER_DEFAULT, 0),
+           "VarWeekdayName(%d,%d,%d): got wrong dayname: '%s'\n",
+           iWeekday, fAbbrev, iFirstDay, buff);
+        SysFreeString(out);
       }
     }
+  }
 
   /* Cleanup */
   for (day = 0; day <= 6; ++day)
-- 
2.24.1




More information about the wine-devel mailing list