Paul Vriens : gdi32/tests: Fix some test failures on Win9x.

Alexandre Julliard julliard at winehq.org
Fri Mar 13 09:14:03 CDT 2009


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

Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date:   Fri Mar 13 13:23:20 2009 +0100

gdi32/tests: Fix some test failures on Win9x.

---

 dlls/gdi32/tests/pen.c |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/dlls/gdi32/tests/pen.c b/dlls/gdi32/tests/pen.c
index 2948467..f53dac4 100644
--- a/dlls/gdi32/tests/pen.c
+++ b/dlls/gdi32/tests/pen.c
@@ -93,7 +93,9 @@ static void test_logpen(void)
 
         ok(lp.lopnStyle == pen[i].ret_style, "expected %u, got %u\n", pen[i].ret_style, lp.lopnStyle);
         ok(lp.lopnWidth.x == pen[i].ret_width, "expected %u, got %d\n", pen[i].ret_width, lp.lopnWidth.x);
-        ok(lp.lopnWidth.y == 0, "expected 0, got %d\n", lp.lopnWidth.y);
+        ok(lp.lopnWidth.y == 0 ||
+            broken(lp.lopnWidth.y == 0xb), /* Win9x */
+            "expected 0, got %d\n", lp.lopnWidth.y);
         ok(lp.lopnColor == pen[i].ret_color, "expected %08x, got %08x\n", pen[i].ret_color, lp.lopnColor);
 
         DeleteObject(hpen);
@@ -114,7 +116,9 @@ static void test_logpen(void)
         memset(&lp, 0xb0, sizeof(lp));
         SetLastError(0xdeadbeef);
         size = GetObject(hpen, sizeof(lp.lopnStyle), &lp);
-        ok(!size, "GetObject should fail: size %d, error %d\n", size, GetLastError());
+        ok(!size ||
+            broken(size == sizeof(lp.lopnStyle)), /* Win9x */
+            "GetObject should fail: size %d, error %d\n", size, GetLastError());
 
         /* see how larger buffer sizes are handled */
         memset(&lp, 0xb0, sizeof(lp));
@@ -226,12 +230,17 @@ static void test_logpen(void)
             break;
 
         case PS_USERSTYLE:
-            ok(size == sizeof(EXTLOGPEN) - sizeof(elp.elpStyleEntry) + sizeof(user_style),
+            ok(size == sizeof(EXTLOGPEN) - sizeof(elp.elpStyleEntry) + sizeof(user_style) ||
+               broken(size == 0 && GetLastError() == ERROR_INVALID_PARAMETER), /* Win9x */
                "GetObject returned %d, error %d\n", size, GetLastError());
             break;
 
         default:
-            ok(size == sizeof(EXTLOGPEN) - sizeof(elp.elpStyleEntry),
+            ok(size == sizeof(EXTLOGPEN) - sizeof(elp.elpStyleEntry) ||
+               broken(size == sizeof(LOGPEN)) || /* Win9x */
+               broken(pen[i].style == PS_ALTERNATE &&
+                      size == 0 &&
+                      GetLastError() == ERROR_INVALID_PARAMETER), /* Win9x */
                "GetObject returned %d, error %d\n", size, GetLastError());
             break;
         }
@@ -240,7 +249,9 @@ static void test_logpen(void)
         memset(&elp, 0xb0, sizeof(elp));
         SetLastError(0xdeadbeef);
         size = GetObject(hpen, sizeof(elp.elpPenStyle), &elp);
-        ok(!size, "GetObject should fail: size %d, error %d\n", size, GetLastError());
+        ok(!size ||
+            broken(size == sizeof(elp.elpPenStyle)), /* Win9x */
+            "GetObject should fail: size %d, error %d\n", size, GetLastError());
 
         /* see how larger buffer sizes are handled */
         memset(&ext_pen, 0xb0, sizeof(ext_pen));
@@ -278,7 +289,11 @@ static void test_logpen(void)
             break;
 
         default:
-            ok(size == sizeof(EXTLOGPEN) - sizeof(elp.elpStyleEntry),
+            ok(size == sizeof(EXTLOGPEN) - sizeof(elp.elpStyleEntry) ||
+               broken(size == sizeof(LOGPEN)) || /* Win9x */
+               broken(pen[i].style == PS_ALTERNATE &&
+                      size == 0 &&
+                      GetLastError() == ERROR_INVALID_PARAMETER), /* Win9x */
                "GetObject returned %d, error %d\n", size, GetLastError());
             ok(ext_pen.elp.elpHatch == HS_CROSS, "expected HS_CROSS, got %p\n", (void *)ext_pen.elp.elpHatch);
             ok(ext_pen.elp.elpNumEntries == 0, "expected 0, got %x\n", ext_pen.elp.elpNumEntries);




More information about the wine-cvs mailing list