On 6/15/22 13:24, Bernhard Kölbl wrote:
We already have tests for typelibs and marshalling, in oleaut32:typelib and oleaut32:tmarshal respectively. I see no reason that's not sufficient already.
As far as headers are concerned, we could probably take a similar approach in some ways. I don't know what exactly needs testing, but we could do things like
ok(offsetof(mystruct.field) == 16, "wrong offset %u\n", offsetof(mystruct.field));
or (for a compile-time assertion)
extern void test(ITestInterface *obj) { HRESULT (*myfunc)(type1 arg1, type2 *arg2, ...);
myfunc = obj->lpVtbl->myfunc;
}
This won't work for some WinRT features like namespaces and some attributes.
What needs testing there? Is there anything to do aside from validating that a given IDL compiles? That too doesn't seem like it'd require any extra test infrastructure.