winetest: Refuse to run if we cannot create a window.

This commit is contained in:
Alexandre Julliard 2010-03-05 13:10:16 +01:00
parent 482fbe91e2
commit f47bcc22fc
2 changed files with 17 additions and 2 deletions

View File

@ -473,7 +473,7 @@ DlgThreadProc (LPVOID param)
NULL, DlgProc); NULL, DlgProc);
switch (ret) { switch (ret) {
case 0: case 0:
report (R_WARNING, "Invalid parent handle"); report (R_FATAL, "Cannot display dialog");
break; break;
case 1: case 1:
report (R_WARNING, "DialogBox failed: %d", report (R_WARNING, "DialogBox failed: %d",

View File

@ -145,6 +145,18 @@ static int check_mount_mgr(void)
return TRUE; return TRUE;
} }
static int check_display_driver(void)
{
if (running_under_wine())
{
HWND hwnd = CreateWindowA( "STATIC", "", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
0, 0, GetModuleHandleA(0), 0 );
if (!hwnd) return FALSE;
DestroyWindow( hwnd );
}
return TRUE;
}
static int running_on_visible_desktop (void) static int running_on_visible_desktop (void)
{ {
HWND desktop; HWND desktop;
@ -1052,7 +1064,10 @@ int main( int argc, char *argv[] )
report (R_FATAL, "Tests must be run on a visible desktop"); report (R_FATAL, "Tests must be run on a visible desktop");
if (!check_mount_mgr()) if (!check_mount_mgr())
report (R_FATAL, "Mount manager not running, most likely your WINEPREFIX wasn't created correctly"); report (R_FATAL, "Mount manager not running, most likely your WINEPREFIX wasn't created correctly.");
if (!check_display_driver())
report (R_FATAL, "Unable to create a window, the display driver is not working.");
SetConsoleCtrlHandler(ctrl_handler, TRUE); SetConsoleCtrlHandler(ctrl_handler, TRUE);