Index: dlls/oleaut32/tests/vartest.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/tests/vartest.c,v
retrieving revision 1.27
diff -u -r1.27 vartest.c
--- dlls/oleaut32/tests/vartest.c	20 Apr 2004 00:34:52 -0000	1.27
+++ dlls/oleaut32/tests/vartest.c	22 Apr 2004 02:05:57 -0000
@@ -75,6 +75,8 @@
  */
 #define EQ_DOUBLE(a,b)     (fabs((a)-(b))<1e-14)
 
+#define SKIPTESTS(a)  if((a > VT_CLSID+10) && (a < VT_BSTR_BLOB-10)) continue;
+
 static inline int strcmpW( const WCHAR *str1, const WCHAR *str2 )
 {
     while (*str1 && (*str1 == *str2)) { str1++; str2++; }
@@ -272,6 +274,8 @@
     {
       HRESULT hExpected = DISP_E_BADVARTYPE;
 
+      SKIPTESTS(vt);
+
       memset(&v, 0, sizeof(v));
       V_VT(&v) = vt | ExtraFlags[i];
 
@@ -303,6 +307,8 @@
   {
     for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
     {
+      SKIPTESTS(vt);
+
       memset(&vSrc, 0, sizeof(vSrc));
       V_VT(&vSrc) = vt | ExtraFlags[i];
 
@@ -329,6 +335,8 @@
   {
     for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
     {
+      SKIPTESTS(vt);
+
       hExpected = DISP_E_BADVARTYPE;
 
       memset(&vDst, 0, sizeof(vDst));
@@ -353,6 +361,8 @@
   {
     for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
     {
+      SKIPTESTS(vt);
+
       hExpected = DISP_E_BADVARTYPE;
 
       memset(&vDst, 0, sizeof(vDst));
@@ -410,6 +420,8 @@
 
     for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
     {
+      SKIPTESTS(vt);
+
       memset(&vSrc, 0, sizeof(vSrc));
       V_VT(&vSrc) = vt | ExtraFlags[i];
 
@@ -456,6 +468,8 @@
   {
     for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
     {
+      SKIPTESTS(vt);
+
       memset(&vDst, 0, sizeof(vDst));
       V_VT(&vDst) = vt | ExtraFlags[i];
 
@@ -483,6 +497,8 @@
 
     for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
     {
+      SKIPTESTS(vt);
+
       memset(&vDst, 0, sizeof(vDst));
       V_VT(&vDst) = VT_EMPTY;
 
@@ -1609,6 +1625,8 @@
         {
             HRESULT hExpected = DISP_E_BADVARTYPE;
 
+            SKIPTESTS(vt);
+
             memset(&v, 0, sizeof(v));
             V_VT(&v) = vt | ExtraFlags[i];
             V_VT(&vDst) = VT_EMPTY;
@@ -1693,6 +1711,8 @@
         {
             HRESULT hExpected = DISP_E_BADVARTYPE;
 
+            SKIPTESTS(vt);
+
             memset(&v, 0, sizeof(v));
             V_VT(&v) = vt | ExtraFlags[i];
             V_VT(&vDst) = VT_EMPTY;
@@ -1942,8 +1962,12 @@
   /* test all combinations of types */
   for(l = 0; l < VT_BSTR_BLOB; l++)
   {
+    SKIPTESTS(l);
+
     for(r = 0; r < VT_BSTR_BLOB; r++)
     {
+      SKIPTESTS(r);
+        
       if(l == VT_BSTR) continue;
       if(l == VT_DISPATCH) continue;
       if(r == VT_BSTR) continue;
@@ -2264,6 +2288,8 @@
         {
             HRESULT bFail = TRUE;
 
+            SKIPTESTS(vt);
+
             memset(&v, 0, sizeof(v));
             V_VT(&v) = vt | ExtraFlags[i];
             V_VT(&vDst) = VT_EMPTY;
@@ -2378,6 +2404,8 @@
         {
             HRESULT bFail = TRUE;
 
+            SKIPTESTS(vt);
+
             memset(&v, 0, sizeof(v));
             V_VT(&v) = vt | ExtraFlags[i];
             V_VT(&vDst) = VT_EMPTY;
@@ -2497,6 +2525,8 @@
         {
             HRESULT bFail = TRUE;
 
+            SKIPTESTS(vt);
+
             memset(&v, 0, sizeof(v));
             V_VT(&v) = vt | ExtraFlags[i];
             V_VT(&vDst) = VT_EMPTY;
@@ -2735,10 +2765,14 @@
 
         for (leftvt = 0; leftvt <= VT_BSTR_BLOB; leftvt++)
         {
+            SKIPTESTS(leftvt);
+
             for (rightvt = 0; rightvt <= VT_BSTR_BLOB; rightvt++)
             {
                 BOOL bFail = FALSE;
 
+                SKIPTESTS(rightvt);
+
                 if (leftvt == VT_BSTR || rightvt == VT_BSTR ||
                     leftvt == VT_DISPATCH || rightvt == VT_DISPATCH ||
                     leftvt == VT_UNKNOWN || rightvt == VT_UNKNOWN)
@@ -2875,9 +2909,13 @@
 
         for (leftvt = 0; leftvt <= VT_BSTR_BLOB; leftvt++)
         {
+            SKIPTESTS(leftvt);
+
             for (rightvt = 0; rightvt <= VT_BSTR_BLOB; rightvt++)
             {
                 BOOL bFail = FALSE;
+
+                SKIPTESTS(rightvt);
 
                 if (leftvt == VT_BSTR || rightvt == VT_BSTR ||
                     leftvt == VT_DISPATCH || rightvt == VT_DISPATCH ||
