Zhiyi Zhang : user32/tests: Do not change adapters to every available modes.
Alexandre Julliard
julliard at winehq.org
Mon Jun 7 15:02:08 CDT 2021
Module: wine
Branch: stable
Commit: f8784c6eb07453ca23fa493abd4bf6a979628a7e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f8784c6eb07453ca23fa493abd4bf6a979628a7e
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date: Mon May 17 15:20:21 2021 +0800
user32/tests: Do not change adapters to every available modes.
This reduce the time to run the monitor test from 6 minutes to 25 seconds.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50086
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit cad102465ddb1151cdac4ec073e734dfaee0d85c)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
dlls/user32/tests/monitor.c | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c
index 5e4cc9d154f..a587c7c6b16 100644
--- a/dlls/user32/tests/monitor.c
+++ b/dlls/user32/tests/monitor.c
@@ -333,6 +333,7 @@ static void test_ChangeDisplaySettingsEx(void)
DISPLAY_DEVICEA dd;
POINTL position;
DEVMODEW dmW;
+ BOOL found;
LONG res;
int i;
@@ -732,7 +733,7 @@ static void test_ChangeDisplaySettingsEx(void)
ok(count == old_count - 1, "Expect monitor count %d, got %d\n", old_count - 1, count);
}
- /* Test changing each adapter to every available mode */
+ /* Test changing each adapter to different width, height, frequency and depth */
position.x = 0;
position.y = 0;
for (device = 0; device < device_count; ++device)
@@ -741,6 +742,42 @@ static void test_ChangeDisplaySettingsEx(void)
dm.dmSize = sizeof(dm);
for (mode = 0; EnumDisplaySettingsExA(devices[device].name, mode, &dm, 0); ++mode)
{
+ if (mode == 0)
+ {
+ dm2 = dm;
+ }
+ else
+ {
+ found = FALSE;
+ if (dm2.dmPelsWidth && dm.dmPelsWidth != dm2.dmPelsWidth)
+ {
+ dm2.dmPelsWidth = 0;
+ found = TRUE;
+ }
+ if (dm2.dmPelsHeight && dm.dmPelsHeight != dm2.dmPelsHeight)
+ {
+ dm2.dmPelsHeight = 0;
+ found = TRUE;
+ }
+ if (dm2.dmDisplayFrequency && dm.dmDisplayFrequency != dm2.dmDisplayFrequency)
+ {
+ dm2.dmDisplayFrequency = 0;
+ found = TRUE;
+ }
+ if (dm2.dmBitsPerPel && dm.dmBitsPerPel != dm2.dmBitsPerPel)
+ {
+ dm2.dmBitsPerPel = 0;
+ found = TRUE;
+ }
+
+ if (!dm2.dmPelsWidth && !dm2.dmPelsHeight && !dm2.dmDisplayFrequency
+ && !dm2.dmBitsPerPel)
+ break;
+
+ if (!found)
+ continue;
+ }
+
dm.dmPosition = position;
dm.dmFields |= DM_POSITION;
res = ChangeDisplaySettingsExA(devices[device].name, &dm, NULL, CDS_RESET, NULL);
More information about the wine-cvs
mailing list