Paul Vriens : gdi32/tests: Skip some tests on Win9x/WinMe.

Alexandre Julliard julliard at winehq.org
Wed Oct 8 08:32:47 CDT 2008


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

Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date:   Wed Oct  8 11:20:09 2008 +0200

gdi32/tests: Skip some tests on Win9x/WinMe.

---

 dlls/gdi32/tests/bitmap.c |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c
index 25f1fe7..3d801e7 100644
--- a/dlls/gdi32/tests/bitmap.c
+++ b/dlls/gdi32/tests/bitmap.c
@@ -1737,22 +1737,29 @@ static void test_GetDIBits_BI_BITFIELDS(void)
         memset(dibinfo, 0, sizeof(dibinfo_buf));
         dibinfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
         dibinfo->bmiHeader.biSizeImage = 0xdeadbeef;
+        SetLastError(0xdeadbeef);
         ret = GetDIBits(hdc, hbm, 0, 0, bits, dibinfo, DIB_RGB_COLORS);
-
-        ok( !bitmasks[0], "red mask is set\n" );
-        ok( !bitmasks[1], "green mask is set\n" );
-        ok( !bitmasks[2], "blue mask is set\n" );
-        ok( dibinfo->bmiHeader.biSizeImage != 0xdeadbeef, "size image not set\n" );
-
-        memset(bitmasks, 0, 3*sizeof(DWORD));
-        dibinfo->bmiHeader.biSizeImage = 0xdeadbeef;
-        ret = GetDIBits(hdc, hbm, 0, 0, bits, dibinfo, DIB_RGB_COLORS);
-        ok(ret == 1, "GetDIBits failed ret %u err %u\n",ret,GetLastError());
-
-        ok( bitmasks[0] != 0, "red mask is not set\n" );
-        ok( bitmasks[1] != 0, "green mask is not set\n" );
-        ok( bitmasks[2] != 0, "blue mask is not set\n" );
-        ok( dibinfo->bmiHeader.biSizeImage != 0xdeadbeef, "size image not set\n" );
+        if (ret == 0 && GetLastError() == ERROR_INVALID_PARAMETER)
+            win_skip("Win9x/WinMe doesn't handle 0 for the number of scan lines\n");
+        else
+        {
+            ok(ret == 1, "GetDIBits failed ret %u err %u\n",ret,GetLastError());
+
+            ok( !bitmasks[0], "red mask is set\n" );
+            ok( !bitmasks[1], "green mask is set\n" );
+            ok( !bitmasks[2], "blue mask is set\n" );
+            ok( dibinfo->bmiHeader.biSizeImage != 0xdeadbeef, "size image not set\n" );
+
+            memset(bitmasks, 0, 3*sizeof(DWORD));
+            dibinfo->bmiHeader.biSizeImage = 0xdeadbeef;
+            ret = GetDIBits(hdc, hbm, 0, 0, bits, dibinfo, DIB_RGB_COLORS);
+            ok(ret == 1, "GetDIBits failed ret %u err %u\n",ret,GetLastError());
+
+            ok( bitmasks[0] != 0, "red mask is not set\n" );
+            ok( bitmasks[1] != 0, "green mask is not set\n" );
+            ok( bitmasks[2] != 0, "blue mask is not set\n" );
+            ok( dibinfo->bmiHeader.biSizeImage != 0xdeadbeef, "size image not set\n" );
+        }
     }
     else skip("not in 16 bpp BI_BITFIELDS mode, skipping that test\n");
 




More information about the wine-cvs mailing list