Francois Gouget : user32/tests: Fix the ChangeDisplaySettingsEx() test so it succeeds on NT4.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Feb 23 05:28:16 CST 2007


Module: wine
Branch: master
Commit: 3bf42961a826b7bc8060f1bcc9a5ce00c7b443d5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3bf42961a826b7bc8060f1bcc9a5ce00c7b443d5

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Thu Feb 22 12:43:06 2007 +0100

user32/tests: Fix the ChangeDisplaySettingsEx() test so it succeeds on NT4.

---

 dlls/user32/tests/monitor.c |   39 +++++++++++++++++++++------------------
 1 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c
index a4ea8ec..edb881a 100644
--- a/dlls/user32/tests/monitor.c
+++ b/dlls/user32/tests/monitor.c
@@ -104,26 +104,26 @@ static void test_enumdisplaydevices(void)
 struct vid_mode
 {
     DWORD w, h, bpp, freq, fields;
-    LONG res;
+    LONG success;
 };
 
 static struct vid_mode vid_modes_test[] = {
-    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY, DISP_CHANGE_SUCCESSFUL},
-    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT |                 DM_DISPLAYFREQUENCY, DISP_CHANGE_SUCCESSFUL},
-    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL                      , DISP_CHANGE_SUCCESSFUL},
-    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT                                      , DISP_CHANGE_SUCCESSFUL},
-    {640, 480, 0, 0,                                DM_BITSPERPEL                      , DISP_CHANGE_SUCCESSFUL},
-    {640, 480, 0, 0,                                                DM_DISPLAYFREQUENCY, DISP_CHANGE_SUCCESSFUL},
-
-    {0, 0, 0, 0, DM_PELSWIDTH, DISP_CHANGE_SUCCESSFUL},
-    {0, 0, 0, 0, DM_PELSHEIGHT, DISP_CHANGE_SUCCESSFUL},
-
-    {640, 480, 0, 0, DM_PELSWIDTH, DISP_CHANGE_BADMODE},
-    {640, 480, 0, 0, DM_PELSHEIGHT, DISP_CHANGE_BADMODE},
-    {  0, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, DISP_CHANGE_BADMODE},
-    {640,   0, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, DISP_CHANGE_BADMODE},
-
-    {0, 0, 0, 10, DM_DISPLAYFREQUENCY, DISP_CHANGE_BADMODE},
+    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY, 1},
+    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT |                 DM_DISPLAYFREQUENCY, 1},
+    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL                      , 1},
+    {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT                                      , 1},
+    {640, 480, 0, 0,                                DM_BITSPERPEL                      , 1},
+    {640, 480, 0, 0,                                                DM_DISPLAYFREQUENCY, 1},
+
+    {0, 0, 0, 0, DM_PELSWIDTH, 1},
+    {0, 0, 0, 0, DM_PELSHEIGHT, 1},
+
+    {640, 480, 0, 0, DM_PELSWIDTH, 0},
+    {640, 480, 0, 0, DM_PELSHEIGHT, 0},
+    {  0, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, 0},
+    {640,   0, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, 0},
+
+    {0, 0, 0, 0, DM_DISPLAYFREQUENCY, 0},
 };
 #define vid_modes_cnt (sizeof(vid_modes_test) / sizeof(vid_modes_test[0]))
 
@@ -144,7 +144,10 @@ static void test_ChangeDisplaySettingsEx(void)
         dm.dmDisplayFrequency = vid_modes_test[i].freq;
         dm.dmFields           = vid_modes_test[i].fields;
         res = ChangeDisplaySettingsEx(NULL, &dm, NULL, CDS_FULLSCREEN, NULL);
-        ok(res == vid_modes_test[i].res, "Failed to change resolution[%d]: %d\n", i, res);
+        ok(vid_modes_test[i].success ?
+           (res == DISP_CHANGE_SUCCESSFUL) :
+           (res == DISP_CHANGE_BADMODE || res == DISP_CHANGE_BADPARAM),
+           "Unexpected ChangeDisplaySettingsEx() return code for resolution[%d]: %d\n", i, res);
 
         if (res == DISP_CHANGE_SUCCESSFUL)
         {




More information about the wine-cvs mailing list