Zhiyi Zhang : user32/tests: Fix some test failures on the w7u_2qxl TestBot.

Alexandre Julliard julliard at winehq.org
Thu Sep 16 15:34:31 CDT 2021


Module: wine
Branch: master
Commit: c58d9cf744f9c182576bd8de723e261e3e419a46
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c58d9cf744f9c182576bd8de723e261e3e419a46

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Thu Sep 16 15:17:38 2021 +0800

user32/tests: Fix some test failures on the w7u_2qxl TestBot.

The first adapter reported by EnumDisplayDevices() is not guaranteed to be primary.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/tests/monitor.c | 44 ++++----------------------------------------
 1 file changed, 4 insertions(+), 40 deletions(-)

diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c
index cee7b629cd7..bd348576726 100644
--- a/dlls/user32/tests/monitor.c
+++ b/dlls/user32/tests/monitor.c
@@ -105,21 +105,6 @@ static int get_bitmap_stride(int width, int bpp)
     return ((width * bpp + 15) >> 3) & ~1;
 }
 
-static BOOL CALLBACK monitor_enum_proc(HMONITOR hmon, HDC hdc, LPRECT lprc,
-                                       LPARAM lparam)
-{
-    MONITORINFOEXA mi;
-    char *primary = (char *)lparam;
-
-    mi.cbSize = sizeof(mi);
-
-    ok(GetMonitorInfoA(hmon, (MONITORINFO*)&mi), "GetMonitorInfo failed\n");
-    if (mi.dwFlags & MONITORINFOF_PRIMARY)
-        strcpy(primary, mi.szDevice);
-
-    return TRUE;
-}
-
 static int adapter_count = 0;
 static int monitor_count = 0;
 
@@ -150,11 +135,6 @@ static void test_enumdisplaydevices_adapter(int index, const DISPLAY_DEVICEA *de
        *device->DeviceString, "#%d: expect DeviceString not empty\n", index);
 
     /* StateFlags */
-    if (index == 0)
-        ok(device->StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE, "#%d: adapter should be primary\n", index);
-    else
-        ok(!(device->StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE), "#%d: adapter should not be primary\n", index);
-
     if (device->StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)
     {
         /* Test creating DC */
@@ -180,7 +160,7 @@ static void test_enumdisplaydevices_adapter(int index, const DISPLAY_DEVICEA *de
     }
 }
 
-static void test_enumdisplaydevices_monitor(int adapter_index, int monitor_index, const char *adapter_name,
+static void test_enumdisplaydevices_monitor(int monitor_index, const char *adapter_name,
                                             DISPLAY_DEVICEA *device, DWORD flags)
 {
     static const char device_key_prefix[] = "\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Class"
@@ -200,11 +180,8 @@ static void test_enumdisplaydevices_monitor(int adapter_index, int monitor_index
     ok(*device->DeviceString, "#%d: expect DeviceString not empty\n", monitor_index);
 
     /* StateFlags */
-    if (adapter_index == 0 && monitor_index == 0)
-        ok(device->StateFlags & DISPLAY_DEVICE_ATTACHED, "#%d expect to have a primary monitor attached\n", monitor_index);
-    else
-        ok(device->StateFlags <= (DISPLAY_DEVICE_ATTACHED | DISPLAY_DEVICE_ACTIVE), "#%d wrong state %#x\n", monitor_index,
-           device->StateFlags);
+    ok(device->StateFlags <= (DISPLAY_DEVICE_ATTACHED | DISPLAY_DEVICE_ACTIVE),
+       "#%d wrong state %#x\n", monitor_index, device->StateFlags);
 
     /* DeviceID */
     CharLowerA(device->DeviceID);
@@ -236,8 +213,6 @@ static void test_enumdisplaydevices(void)
 {
     static const DWORD flags[] = {0, EDD_GET_DEVICE_INTERFACE_NAME};
     DISPLAY_DEVICEA dd;
-    char primary_device_name[32];
-    char primary_monitor_device_name[32];
     char adapter_name[32];
     int number;
     int flag_index;
@@ -266,23 +241,12 @@ static void test_enumdisplaydevices(void)
 
             for (monitor_index = 0; EnumDisplayDevicesA(adapter_name, monitor_index, &dd, flags[flag_index]);
                  monitor_index++)
-                test_enumdisplaydevices_monitor(adapter_index, monitor_index, adapter_name, &dd, flags[flag_index]);
+                test_enumdisplaydevices_monitor(monitor_index, adapter_name, &dd, flags[flag_index]);
         }
 
     ok(adapter_count > 0, "Expect at least one adapter found\n");
     /* XP on Testbot doesn't report a monitor, whereas XP on real machine does */
     ok(broken(monitor_count == 0) || monitor_count > 0, "Expect at least one monitor found\n");
-
-    ret = EnumDisplayDevicesA(NULL, 0, &dd, 0);
-    ok(ret, "Expect success\n");
-    lstrcpyA(primary_device_name, dd.DeviceName);
-
-    primary_monitor_device_name[0] = 0;
-    ret = EnumDisplayMonitors(NULL, NULL, monitor_enum_proc, (LPARAM)primary_monitor_device_name);
-    ok(ret, "EnumDisplayMonitors failed\n");
-    ok(!strcmp(primary_monitor_device_name, primary_device_name),
-       "monitor device name %s, device name %s\n", primary_monitor_device_name,
-       primary_device_name);
 }
 
 struct vid_mode




More information about the wine-cvs mailing list