On 15 November 2011 20:28, Stefan Dösinger stefandoesinger@gmx.at wrote:
In principle I agree, but handling this on a per-test basis won't work. The behavior doesn't just depend on the interface version you call, but also the version with which the object was created(see e.g. surface::GetDDInterface, ddraw::QueryInterface). To properly test the version differences you have to create all versions and QI all versions from each of them and run the tests on those interfaces.
For that reason I'm currently ignoring the interface versions unless the API makes differences likely(e.g. DDSURFACEDESC.dwSize) or an application depends on version specific behavior(e.g. refcounting).
It's probably ok to ignore the more obscure cases of getting an earlier interface through QI on a newer interface, but I think we should at least test version differences for interfaces originally created with a particular version.