kernel32/tests: Fix a test failure on Win9x/WinMe.

This commit is contained in:
Paul Vriens 2009-06-05 09:10:09 +02:00 committed by Alexandre Julliard
parent d449fcde40
commit b3e4155a41
1 changed files with 11 additions and 6 deletions

View File

@ -280,15 +280,16 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
/* If, after attaching to the debuggee, the debugger exits without /* If, after attaching to the debuggee, the debugger exits without
* detaching, then the debuggee gets a special exit code. * detaching, then the debuggee gets a special exit code.
*/ */
ok(exit_code == 0xffffffff || /* Win 9x */ ok(exit_code == STATUS_DEBUGGER_INACTIVE ||
exit_code == 0x80 || /* NT4 */ broken(exit_code == 0xffffffff) || /* Win9x */
exit_code == STATUS_DEBUGGER_INACTIVE, /* Win >= XP */ broken(exit_code == WAIT_ABANDONED), /* NT4, W2K */
"wrong exit code : %08x\n", exit_code); "wrong exit code : %08x\n", exit_code);
} }
else else
ok(exit_code == STATUS_ACCESS_VIOLATION || ok(exit_code == STATUS_ACCESS_VIOLATION ||
exit_code == WAIT_ABANDONED, /* win2k3 */ broken(exit_code == WAIT_ABANDONED) || /* NT4, W2K, W2K3 */
"exit code = %08x instead of STATUS_ACCESS_VIOLATION or WAIT_ABANDONED\n", exit_code); broken(exit_code == 0xffffffff), /* Win9x, WinME */
"wrong exit code : %08x\n", exit_code);
CloseHandle(info.hProcess); CloseHandle(info.hProcess);
/* ...before the debugger */ /* ...before the debugger */
@ -410,8 +411,12 @@ static void test_ExitCode(void)
crash_and_debug(hkey, test_exe, "dbg,attach,event,code2"); crash_and_debug(hkey, test_exe, "dbg,attach,event,code2");
if (pDebugSetProcessKillOnExit) if (pDebugSetProcessKillOnExit)
crash_and_debug(hkey, test_exe, "dbg,attach,event,nokill"); crash_and_debug(hkey, test_exe, "dbg,attach,event,nokill");
else
win_skip("DebugSetProcessKillOnExit is not available\n");
if (pDebugActiveProcessStop) if (pDebugActiveProcessStop)
crash_and_debug(hkey, test_exe, "dbg,attach,event,detach"); crash_and_debug(hkey, test_exe, "dbg,attach,event,detach");
else
win_skip("DebugActiveProcessStop is not available\n");
if (disposition == REG_CREATED_NEW_KEY) if (disposition == REG_CREATED_NEW_KEY)
{ {