From: Bernhard Übelacker bernhardu@mailbox.org
--- dlls/dxcore/tests/Makefile.in | 2 +- dlls/dxcore/tests/dxcore.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/dlls/dxcore/tests/Makefile.in b/dlls/dxcore/tests/Makefile.in index 841f1c9d14f..ff4341fc894 100644 --- a/dlls/dxcore/tests/Makefile.in +++ b/dlls/dxcore/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = dxcore.dll -IMPORTS = uuid +IMPORTS = user32 uuid
SOURCES = \ dxcore.c diff --git a/dlls/dxcore/tests/dxcore.c b/dlls/dxcore/tests/dxcore.c index fe86149c76e..1748307e730 100644 --- a/dlls/dxcore/tests/dxcore.c +++ b/dlls/dxcore/tests/dxcore.c @@ -40,6 +40,13 @@ static void check_interface_(unsigned int line, void *iface, REFIID riid, BOOL s IUnknown_Release(out); }
+static BOOL is_any_display_available(void) +{ + DISPLAY_DEVICEW display_device; + display_device.cb = sizeof(display_device); + return EnumDisplayDevicesW(NULL, 0, &display_device, 0); +} + static void test_DXCoreCreateAdapterFactory(void) { IDXCoreAdapterFactory *factory2 = (void *)0xdeadbeef; @@ -178,6 +185,12 @@ START_TEST(dxcore) return; }
+ if (!is_any_display_available()) + { + skip("No display available.\n"); + return; + } + test_DXCoreCreateAdapterFactory();
FreeLibrary(dxcore_handle);