d3d8/tests: Skip tests if not running in the foreground.

This commit is contained in:
Greg Geldorp 2011-01-12 14:12:27 +01:00 committed by Alexandre Julliard
parent 33a5cdbf79
commit c1736fed2d
1 changed files with 18 additions and 6 deletions

View File

@ -1541,6 +1541,7 @@ struct wndproc_thread_param
HWND dummy_window; HWND dummy_window;
HANDLE window_created; HANDLE window_created;
HANDLE test_finished; HANDLE test_finished;
BOOL running_in_foreground;
}; };
static LRESULT CALLBACK test_proc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) static LRESULT CALLBACK test_proc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
@ -1584,6 +1585,7 @@ static DWORD WINAPI wndproc_thread(void *param)
p->dummy_window = CreateWindowA("d3d8_test_wndproc_wc", "d3d8_test", p->dummy_window = CreateWindowA("d3d8_test_wndproc_wc", "d3d8_test",
WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0); WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION, 0, 0, 640, 480, 0, 0, 0, 0);
p->running_in_foreground = SetForegroundWindow(p->dummy_window);
ret = SetEvent(p->window_created); ret = SetEvent(p->window_created);
ok(ret, "SetEvent failed, last error %#x.\n", GetLastError()); ok(ret, "SetEvent failed, last error %#x.\n", GetLastError());
@ -1667,9 +1669,14 @@ static void test_wndproc(void)
tmp = GetFocus(); tmp = GetFocus();
ok(tmp == device_window, "Expected focus %p, got %p.\n", device_window, tmp); ok(tmp == device_window, "Expected focus %p, got %p.\n", device_window, tmp);
tmp = GetForegroundWindow(); if (thread_params.running_in_foreground)
ok(tmp == thread_params.dummy_window, "Expected foreground window %p, got %p.\n", {
thread_params.dummy_window, tmp); tmp = GetForegroundWindow();
ok(tmp == thread_params.dummy_window, "Expected foreground window %p, got %p.\n",
thread_params.dummy_window, tmp);
}
else
skip("Not running in foreground, skip foreground window test\n");
flush_events(); flush_events();
@ -1806,9 +1813,14 @@ static void test_wndproc_windowed(void)
tmp = GetFocus(); tmp = GetFocus();
ok(tmp == device_window, "Expected focus %p, got %p.\n", device_window, tmp); ok(tmp == device_window, "Expected focus %p, got %p.\n", device_window, tmp);
tmp = GetForegroundWindow(); if (thread_params.running_in_foreground)
ok(tmp == thread_params.dummy_window, "Expected foreground window %p, got %p.\n", {
thread_params.dummy_window, tmp); tmp = GetForegroundWindow();
ok(tmp == thread_params.dummy_window, "Expected foreground window %p, got %p.\n",
thread_params.dummy_window, tmp);
}
else
skip("Not running in foreground, skip foreground window test\n");
filter_messages = focus_window; filter_messages = focus_window;