Jacek Caban : kernel32/tests: Don't use blackbox for crashing process.
Alexandre Julliard
julliard at winehq.org
Fri Jan 3 15:25:06 CST 2020
Module: wine
Branch: master
Commit: 79d58362c7c05af73064a572bd199a5430b89520
URL: https://source.winehq.org/git/wine.git/?a=commit;h=79d58362c7c05af73064a572bd199a5430b89520
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jan 3 18:48:30 2020 +0100
kernel32/tests: Don't use blackbox for crashing process.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernel32/tests/debugger.c | 29 +++++------------------------
1 file changed, 5 insertions(+), 24 deletions(-)
diff --git a/dlls/kernel32/tests/debugger.c b/dlls/kernel32/tests/debugger.c
index 92ab98b1ca..cd982a2014 100644
--- a/dlls/kernel32/tests/debugger.c
+++ b/dlls/kernel32/tests/debugger.c
@@ -174,12 +174,7 @@ static void run_background_thread(void)
CloseHandle(thread);
}
-typedef struct
-{
- DWORD pid;
-} crash_blackbox_t;
-
-static void doCrash(int argc, char** argv)
+static void doCrash(void)
{
volatile char* p;
@@ -189,13 +184,6 @@ static void doCrash(int argc, char** argv)
run_background_thread();
- if (argc >= 4)
- {
- crash_blackbox_t blackbox;
- blackbox.pid=GetCurrentProcessId();
- save_blackbox(argv[3], &blackbox, sizeof(blackbox), NULL);
- }
-
/* Just crash */
trace("child: crashing...\n");
p=NULL;
@@ -567,11 +555,9 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
HANDLE start_event, done_event;
char* cmd;
char dbglog[MAX_PATH];
- char childlog[MAX_PATH];
PROCESS_INFORMATION info;
STARTUPINFOA startup;
DWORD exit_code;
- crash_blackbox_t crash_blackbox;
debugger_blackbox_t dbg_blackbox;
DWORD wait_code;
@@ -599,9 +585,8 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
ok(ret == ERROR_SUCCESS, "unable to set AeDebug/debugger: ret=%d\n", ret);
HeapFree(GetProcessHeap(), 0, cmd);
- get_file_name(childlog);
- cmd=HeapAlloc(GetProcessHeap(), 0, strlen(argv0)+16+strlen(dbglog)+2+1);
- sprintf(cmd, "%s debugger crash \"%s\"", argv0, childlog);
+ cmd = HeapAlloc(GetProcessHeap(), 0, strlen(argv0) + 16);
+ sprintf(cmd, "%s debugger crash", argv0);
trace("running %s...\n", dbgtasks);
memset(&startup, 0, sizeof(startup));
@@ -625,7 +610,6 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
WaitForSingleObject(info.hProcess, 5000);
CloseHandle(info.hProcess);
DeleteFileA(dbglog);
- DeleteFileA(childlog);
win_skip("Giving up on child process\n");
return;
}
@@ -661,18 +645,16 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
if (skip_crash_and_debug)
{
DeleteFileA(dbglog);
- DeleteFileA(childlog);
win_skip("Giving up on debugger\n");
return;
}
#endif
ok(wait_code == WAIT_OBJECT_0, "Timed out waiting for the debugger\n");
- ok(load_blackbox(childlog, &crash_blackbox, sizeof(crash_blackbox)), "failed to open: %s\n", childlog);
ok(load_blackbox(dbglog, &dbg_blackbox, sizeof(dbg_blackbox)), "failed to open: %s\n", dbglog);
ok(dbg_blackbox.argc == 6, "wrong debugger argument count: %d\n", dbg_blackbox.argc);
- ok(dbg_blackbox.pid == crash_blackbox.pid, "the child and debugged pids don't match: %d != %d\n", crash_blackbox.pid, dbg_blackbox.pid);
+ ok(dbg_blackbox.pid == info.dwProcessId, "the child and debugged pids don't match: %d != %d\n", info.dwProcessId, dbg_blackbox.pid);
ok(dbg_blackbox.debug_rc, "debugger: SetEvent(debug_event) failed err=%d\n", dbg_blackbox.debug_err);
ok(dbg_blackbox.attach_rc, "DebugActiveProcess(%d) failed err=%d\n", dbg_blackbox.pid, dbg_blackbox.attach_err);
ok(dbg_blackbox.nokill_rc, "DebugSetProcessKillOnExit(FALSE) failed err=%d\n", dbg_blackbox.nokill_err);
@@ -680,7 +662,6 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
ok(!dbg_blackbox.failures, "debugger reported %u failures\n", dbg_blackbox.failures);
DeleteFileA(dbglog);
- DeleteFileA(childlog);
}
static void crash_and_winedbg(HKEY hkey, const char* argv0)
@@ -1476,7 +1457,7 @@ START_TEST(debugger)
myARGC=winetest_get_mainargs(&myARGV);
if (myARGC >= 3 && strcmp(myARGV[2], "crash") == 0)
{
- doCrash(myARGC, myARGV);
+ doCrash();
}
else if (myARGC >= 3 && strncmp(myARGV[2], "dbg,", 4) == 0)
{
More information about the wine-cvs
mailing list