-- v2: user32/tests: Mark test todo only on Mac and X11 drivers.
From: Esme Povirk esme@codeweavers.com
--- dlls/user32/tests/msg.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 8ed608c5d3b..8dfac5aaa36 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -29,6 +29,7 @@ #include "winbase.h" #include "wingdi.h" #include "winuser.h" +#include "winreg.h" #include "winnls.h" #include "dbt.h" #include "commctrl.h" @@ -171,6 +172,29 @@ struct recvd_message { char output[512]; /* trace output */ };
+static WCHAR display_driver[MAX_PATH]; + +static void check_display_driver(void) +{ + UINT guid_atom; + HKEY hkey; + WCHAR key[sizeof("System\CurrentControlSet\Control\Video\{}\0000") + 40]; + DWORD size = ARRAY_SIZE(display_driver); + + guid_atom = HandleToULong(GetPropW(GetDesktopWindow(), L"__wine_display_device_guid")); + if (!guid_atom) return; + wcscpy( key, L"System\CurrentControlSet\Control\Video\{" ); + if (!GlobalGetAtomNameW(guid_atom, key + wcslen(key), 40)) return; + wcscat( key, L"}\0000" ); + + if (!RegOpenKeyExW(HKEY_LOCAL_MACHINE, key, 0, KEY_READ, &hkey)) + { + RegQueryValueExW(hkey, L"GraphicsDriver", NULL, NULL, (BYTE *)display_driver, &size); + + RegCloseKey(hkey); + } +} + /* Empty message sequence */ static const struct message WmEmptySeq[] = { @@ -17718,7 +17742,8 @@ static DWORD CALLBACK post_rbuttonup_msg( void *arg ) DWORD ret;
ret = WaitForSingleObject( data->wndproc_finished, 500 ); - todo_wine ok( ret == WAIT_OBJECT_0, "WaitForSingleObject returned %lx\n", ret ); + todo_wine_if(!wcscmp(display_driver, L"winemac.drv") || !wcscmp(display_driver, L"winex11.drv")) + ok( ret == WAIT_OBJECT_0, "WaitForSingleObject returned %lx\n", ret ); if( ret == WAIT_OBJECT_0 ) return 0;
PostMessageA( data->hwnd, WM_RBUTTONUP, 0, 0 ); @@ -20453,6 +20478,8 @@ START_TEST(msg) init_procs(); ImmDisableIME(0);
+ check_display_driver(); + register_classes();
if (pSetWinEventHook)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=144533
Your paranoid android.
=== w7pro64 (64 bit report) ===
user32: msg.c:9514: Test failed: GetRgnBox (on child) returned 1 msg.c:9518: Test failed: child update region: got (0,0)-(0,0), expected (0,0)-(88,88) msg.c:9551: Test failed: GetRgnBox (on child) returned 1 msg.c:9555: Test failed: child update region: got (0,0)-(0,0), expected (0,0)-(98,98)
=== debian11 (32 bit report) ===
user32: msg.c:12611: Test failed: Got expected 0. msg.c:12626: Test failed: Got expected 0.
I don't think we want to do that sort of thing, particularly not for a test that doesn't seem driver-specific.
This merge request was closed by Esme Povirk.