From b7225671fdf1a28d02c3c7887bae4417fc0c7ac6 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Tue, 4 Apr 2023 18:59:20 +0200 Subject: [PATCH] kernel32/debugger: Fix a failing test (on Wine). The failing test was garbled by remaining debug events from previous test. Signed-off-by: Eric Pouech --- dlls/kernel32/tests/debugger.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/tests/debugger.c b/dlls/kernel32/tests/debugger.c index 64662709e2a..b0c69052936 100644 --- a/dlls/kernel32/tests/debugger.c +++ b/dlls/kernel32/tests/debugger.c @@ -1189,7 +1189,6 @@ static void test_debug_loop_wow64(void) default: ok(0, "Unexpected event: %lu\n", ev.dwDebugEventCode); /* fall through */ - case EXIT_PROCESS_DEBUG_EVENT: case EXIT_THREAD_DEBUG_EVENT: ret = ContinueDebugEvent( ev.dwProcessId, ev.dwThreadId, DBG_CONTINUE ); ok(ret, "ContinueDebugEvent failed, last error %#lx.\n", GetLastError()); @@ -1205,7 +1204,23 @@ static void test_debug_loop_wow64(void) ok(ret, "GetExitCodeProcess failed: %lu\n", GetLastError()); ok(ec != STILL_ACTIVE, "GetExitCodeProcess still active\n"); } + for (;;) + { + DEBUG_EVENT ev; + ret = WaitForDebugEvent( &ev, 2000 ); + if (!ret || ev.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT) break; + switch (ev.dwDebugEventCode) + { + default: + ok(0, "Unexpected event: %lu\n", ev.dwDebugEventCode); + /* fall through */ + case EXIT_THREAD_DEBUG_EVENT: + ret = ContinueDebugEvent( ev.dwProcessId, ev.dwThreadId, DBG_CONTINUE ); + ok(ret, "ContinueDebugEvent failed, last error %#lx.\n", GetLastError()); + break; + } + } ret = CloseHandle( pi.hThread ); ok(ret, "CloseHandle failed, last error %#lx.\n", GetLastError()); ret = CloseHandle( pi.hProcess );