2008/7/1 James Hawkins <jhawkins(a)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.
--
Rob Shearman