Rémi Bernon (@rbernon) commented about dlls/windows.devices.geolocation.geolocator/tests/geolocator.c:
+#include "winerror.h" +#include "winstring.h"
+#include "initguid.h" +#include "roapi.h"
+#define WIDL_using_Windows_Foundation +#define WIDL_using_Windows_Foundation_Collections +#include "windows.foundation.h" +#define WIDL_using_Windows_Devices_Geolocation +#include "windows.devices.geolocation.h"
+#include "wine/test.h"
+#define check_interface(obj, iid, broken_win8) check_interface_(__LINE__, obj, iid, broken_win8) +static void check_interface_(unsigned int line, void *obj, const IID *iid, BOOL broken_win8)
It is confusing that the third bool parameter here is not whether the interface is supported or not, but a "broken" flag. You should keep the same API as the usual check_interface calls elsewhere.
For the broken case I'd suggest to either
* not check that interface, possibly keeping it as commented with an explanation, or,
* add a fourth optional parameter (only the function, and the macro would pass FALSE to it), and use the function call for that interface only.