[PATCH 4/4] d3drm/tests: Add vtable comparison tests in test_frame_qi

Stefan Dösinger stefandoesinger at gmail.com
Thu Apr 2 15:40:15 CDT 2015


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

Am 2015-04-02 um 18:36 schrieb Aaryaman Vasishta:
>      REFIID iid;
>      REFIID refcount_iid;
> +    REFIID vtable_iid;
>      HRESULT hr;
>      BOOL refcount_todo;
> +    BOOL vtable_equal;
> +    BOOL vtable_todo;
>  };
I think this is more complicated than it needs to be. All you should
need is the vtable_iid field. Then, in the inner loop do something like

if (IsEqualGUID(tests[i].vtable_iid, tests[j].vtable_iid))
    ok(iface1 == iface2, ...);
else
    ok(iface1 != iface2, ...);

I may be missing something though.

If you want to compare two Win32 BOOLs for equality you have to be careful:

BOOL a = 1;
BOOL b = 2;
if (a)
   printf("this is true.\n");
if (b)
   printf("this is also true.\n");
if (a == b)
   printf("oops, this is false.\n");

For something like that you can use
if (!a == !b)
    printf("yay, this is true!\n");

IsEqualGUID(a, b) is defined as !memcmp(a, b, sizeof(GUID)), so
IsEqualGUID() == (ptr1 == ptr2) should be OK though.

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

iQIcBAEBAgAGBQJVHakvAAoJEN0/YqbEcdMwPPYP/08CiwYXURzl7Ias7EKvZGO8
QlYjp4CSEorj44LMOMPMELbN+50NJOngxhXA0mecIhZYA9Dgd5NZtVvDWBIPPu/B
tXe+0+Xw/EvzubfzMYjOX5/lOKm400CW3fPEbxwYrzdFOSmeNhclZpfD+9jjuekG
Lj2XUSk/TAi1B8NlD0x0LE7P6gGb61rg7jeJNZGgfPYMsuAoB2OtekvbIvpbCZmb
3WlOXtzmqVMHjsEsw47i8pdL/DwCFFfpE0xWWdhfgCChFUG/Ul/V56ltN5ERtudO
j+jKtY5oNhunIyALwIifwhYNq/bY9CdfovIOI7sNfM3bXwSCZGEk+5Oq3/dnd4rP
/Ejp+Kd5xk4SDMC3kyE6VucZkyFD58plgEDNlgSXx2ND/o3Mw91PTDaGj5xT0Fy1
Enk6oqORgXQhvtUaDH5Y5rOyh+AMquWhhN5N43ymT0UW40D4b6UBNSSwuQeqKaxS
d1CqkbjUcivIBVd1k8GiuXEgjaEvwMlv8kPj1FGu/GCoMeyoRy7mXN1NOapPdFVu
Gz2e8xR8Bri7oglvsS25i6gjYeYvP8qhTcc8tKBU2tr6MHFN3sUkuOZwtLKJLirc
NxdSzaylgVGpCFQ0cwNSjm+eY0WvBd4eLychal+cs2plMmMAkYVTLDRBC4ZReCkw
KIL1cdIMHQIZSSrDu22h
=tKFs
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list