[PATCH 2/2] d3drm/tests: Add version specific tests for CreateDeviceFrom* methods. (try 3)

Stefan Dösinger stefandoesinger at gmail.com
Fri Jul 17 03:15:16 CDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Sorry, there are always more issues to find :-( .

Am 2015-07-16 um 18:08 schrieb Aaryaman Vasishta:
> +    hr = IDirectDrawSurface_GetClipper(d3drm_primary, &d3drm_clipper);
> ...
> +    if (d3drm_primary)
> +        IDirectDrawSurface_Release(d3drm_primary);
The if check here is redundant. I expect Coverity to complain about
this sooner or later...
(version 2 and 3 are affected too)

> +    hr = IDirect3DRM3_CreateDeviceFromClipper(d3drm3, clipper, &driver, 0, 0, &device3);
> +    todo_wine ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %x.\n", hr);
> ...
> +    /* If NULL is passed for clipper, CreateDeviceFromClipper returns D3DRMERR_BADVALUE */
> +    hr = IDirect3DRM3_CreateDeviceFromClipper(d3drm3, NULL, &driver, 0, 0, &device3);
> +    todo_wine ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %x.\n", hr);
Does it return D3DRMERR_BADVALUE because clipper is NULL or because
width / height are 0? Don't test two error conditions at once, unless
both return a different error and you want to test the priority of the
error handling.
(version 2 and 3 are affected too)

> +    /* What happens if we don't pass D3DRMDEVICE_NOZBUFFER and still not attach our own depth surface? */
> +    hr = IDirect3DRM3_CreateDeviceFromSurface(d3drm3, &driver, ddraw, surface, D3DRMDEVICE_NOZBUFFER, &device3);
> +    ok(SUCCEEDED(hr), "Cannot create IDirect3DRMDevice3 interface (hr = %x).\n", hr);
Please also test what happens when you have an already attached depth
surface and do *not* pass D3DRMDEVICE_NOZBUFFER. I suspect that it
either works like version 2 (your surface is kept, no error), or that
it returns an error (because AddAttachedSurface fails).

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVqLmUAAoJEN0/YqbEcdMw3L8P/iqw4zcu9MbgJsfvM7MBLqZa
OEbQ5SyYot/QTPqGL1TPujjLIkm4q557Ban2ZBcN3lPSWscJ5KQoo2sKedWfu/yi
Y47Cvwqggrx7FUOpdNEdp4311eDQ3xo6wYklhzVAUXqQ4cZRmjm6clhMlIW1PPfX
v2iJSNg4xTBqABH6xz+bapO29QpDqq5KuWTRtUuzGFZt9N1cvCzgNHRPmMtlpiCp
ray9/trglSQzsqbyamRD5Tr9Cd8bpSgxrtF7juIVc1MEBISuJquN+Hv/I3qqKgUb
SZkf3yDmEoKeRrCHgfESR9j9gkzH6Iy0R01GWIVdQCshyW36rNI6NwP8zBu9kaeq
psHeFv0Rp0Ed4OKqc+WT+OwagEaH9TwBXmd/JruOiNMQK4/q4HOVvM/10jPG+/gP
/PioGPETbISnMZqZBqSJkdw/NgKoiP8AnJKxYI8GNoAPnPbkktTZ+G0T4rRJkKX/
uYEoUma38cSs6Mv0t1Qb5mxMOl6ioeBnZlGF2WxnZkAOct4Xaww2EM7fPN0dqUP3
nDGd4dU4Sj66hrb5p3nb12K/iJ+skjT0beHWQfxPDhlL9NyLDLl/96XCB/sV5S8Y
qJR3irxiFgSbcm+kGsSa24GV2B1gDDGeXFDEm6rZo37jlG3ASzoOnek9HqcSgBA1
scHWj2bMxjyM39oePaek
=ve5C
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list