2008/7/1 James Hawkins jhawkins@codeweavers.com:
if (leftvt == VT_RECORD && rightvt == VT_I8)
ok((hres == expectedhres || hres == DISP_E_BADVARTYPE) &&
V_VT(&result) == resvt,
"VarSub: %d|0x%X, %d|0x%X: Expected failure 0x%X "
"or 0x%X, got 0x%X, expected vt %d got vt %d\n",
leftvt, ExtraFlags[i], rightvt, ExtraFlags[i],
expectedhres, DISP_E_BADVARTYPE, hres, resvt, V_VT(&result));
else
ok(hres == expectedhres && V_VT(&result) == resvt,
"VarSub: %d|0x%X, %d|0x%X: Expected failure 0x%X, "
"got 0x%X, expected vt %d got vt %d\n",
leftvt, ExtraFlags[i], rightvt, ExtraFlags[i],
expectedhres, hres, resvt, V_VT(&result));
There's the handy HAVE_OLEAUT32_I8 variable for the purpose of expecting when VT_I8 and VT_UI8 types are going to be accepted and when they're not. To avoid complicating the test, you could probably just skip it earlier on if we're testing a VT_I8 or VT_UI8 type in the left or right parameter and HAVE_OLEAUT32_I8 is false.