Alexandre Julliard : user32/tests: Fix some last error checks for WoW64.

Alexandre Julliard julliard at winehq.org
Wed Dec 23 10:04:14 CST 2009


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Dec 23 12:13:44 2009 +0100

user32/tests: Fix some last error checks for WoW64.

---

 dlls/user32/tests/clipboard.c  |    6 ++++--
 dlls/user32/tests/menu.c       |    5 +++--
 dlls/user32/tests/winstation.c |   15 ++++++++++-----
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/dlls/user32/tests/clipboard.c b/dlls/user32/tests/clipboard.c
index e2ba2f9..a0d0fe9 100644
--- a/dlls/user32/tests/clipboard.c
+++ b/dlls/user32/tests/clipboard.c
@@ -56,7 +56,8 @@ static void test_ClipboardOwner(void)
 
     SetLastError(0xdeadbeef);
     ok(!CloseClipboard(), "CloseClipboard should fail if clipboard wasn't open\n");
-    test_last_error(ERROR_CLIPBOARD_NOT_OPEN);
+    ok(GetLastError() == ERROR_CLIPBOARD_NOT_OPEN || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+       "wrong error %u\n", GetLastError());
 
     ok(OpenClipboard(0), "OpenClipboard failed\n");
     ok(!GetClipboardOwner(), "clipboard should still be not owned\n");
@@ -188,7 +189,8 @@ todo_wine
 
     SetLastError(0xdeadbeef);
     ok(!EmptyClipboard(), "EmptyClipboard should fail if clipboard wasn't open\n");
-    test_last_error(ERROR_CLIPBOARD_NOT_OPEN);
+    ok(GetLastError() == ERROR_CLIPBOARD_NOT_OPEN || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+       "Wrong error %u\n", GetLastError());
 }
 
 static HGLOBAL create_text(void)
diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index 56535ae..88e2753 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -390,8 +390,9 @@ static void test_subpopup_locked_by_menu(void)
             ok( ret == itemid , "TrackPopupMenu returned %d error is %d\n", ret, gle);
         }
         ok( gle == 0 ||
-                broken( gle ==  ERROR_INVALID_PARAMETER), /* win2k0 */
-                "Last error is %d\n", gle);
+            broken(gle == 0xdeadbeef) || /* wow64 */
+            broken(gle == ERROR_INVALID_PARAMETER), /* win2k0 */
+            "Last error is %d\n", gle);
     }
     /* clean up */
     DestroyMenu( hmenu);
diff --git a/dlls/user32/tests/winstation.c b/dlls/user32/tests/winstation.c
index 596e9ff..7be74f2 100644
--- a/dlls/user32/tests/winstation.c
+++ b/dlls/user32/tests/winstation.c
@@ -76,7 +76,8 @@ static DWORD CALLBACK thread( LPVOID arg )
     ok( GetLastError() == ERROR_INVALID_HANDLE, "bad last error %d\n", GetLastError() );
     SetLastError( 0xdeadbeef );
     ok( !CloseDesktop( d1 ), "CloseDesktop succeeded\n" );
-    ok( GetLastError() == ERROR_BUSY, "bad last error %d\n", GetLastError() );
+    ok( GetLastError() == ERROR_BUSY || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+        "bad last error %d\n", GetLastError() );
     print_object( d1 );
     d2 = CreateDesktop( "foobar2", NULL, NULL, 0, DESKTOP_ALL_ACCESS, NULL );
     trace( "created desktop %p\n", d2 );
@@ -84,7 +85,8 @@ static DWORD CALLBACK thread( LPVOID arg )
 
     SetLastError( 0xdeadbeef );
     ok( !SetThreadDesktop( d2 ), "set thread desktop succeeded with existing window\n" );
-    ok( GetLastError() == ERROR_BUSY, "bad last error %d\n", GetLastError() );
+    ok( GetLastError() == ERROR_BUSY || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+        "bad last error %d\n", GetLastError() );
 
     DestroyWindow( hwnd );
     ok( SetThreadDesktop( d2 ), "set thread desktop failed\n" );
@@ -139,7 +141,8 @@ static void test_handles(void)
     ok( w2 != w1, "CreateWindowStation returned default handle\n" );
     SetLastError( 0xdeadbeef );
     ok( !CloseDesktop( (HDESK)w2 ), "CloseDesktop succeeded on win station\n" );
-    ok( GetLastError() == ERROR_INVALID_HANDLE, "bad last error %d\n", GetLastError() );
+    ok( GetLastError() == ERROR_INVALID_HANDLE || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+        "bad last error %d\n", GetLastError() );
     ok( CloseWindowStation( w2 ), "CloseWindowStation failed\n" );
 
     w2 = CreateWindowStation("WinSta0", 0, WINSTA_ALL_ACCESS, NULL );
@@ -200,7 +203,8 @@ static void test_handles(void)
 
     SetLastError( 0xdeadbeef );
     ok( !CloseDesktop(d1), "closing thread desktop succeeded\n" );
-    ok( GetLastError() == ERROR_BUSY, "bad last error %d\n", GetLastError() );
+    ok( GetLastError() == ERROR_BUSY || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+        "bad last error %d\n", GetLastError() );
 
     SetLastError( 0xdeadbeef );
     if (CloseHandle( d1 ))  /* succeeds on nt4 */
@@ -225,7 +229,8 @@ static void test_handles(void)
     ok( d2 != 0, "create foobar desktop failed\n" );
     SetLastError( 0xdeadbeef );
     ok( !CloseWindowStation( (HWINSTA)d2 ), "CloseWindowStation succeeded on desktop\n" );
-    ok( GetLastError() == ERROR_INVALID_HANDLE, "bad last error %d\n", GetLastError() );
+    ok( GetLastError() == ERROR_INVALID_HANDLE || broken(GetLastError() == 0xdeadbeef), /* wow64 */
+        "bad last error %d\n", GetLastError() );
 
     SetLastError( 0xdeadbeef );
     d3 = CreateDesktop( "foobar", NULL, NULL, 0, DESKTOP_ALL_ACCESS, NULL );




More information about the wine-cvs mailing list