Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f284719c
Commit
f284719c
authored
Dec 30, 2010
by
Greg Geldorp
Committed by
Alexandre Julliard
Dec 30, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel32/tests: Skip some debugger tests on 64-bit.
parent
1019f2f1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
2 deletions
+37
-2
debugger.c
dlls/kernel32/tests/debugger.c
+37
-2
No files found.
dlls/kernel32/tests/debugger.c
View file @
f284719c
...
...
@@ -266,6 +266,7 @@ static void doDebugger(int argc, char** argv)
static
void
crash_and_debug
(
HKEY
hkey
,
const
char
*
argv0
,
const
char
*
dbgtasks
)
{
static
BOOL
skip_crash_and_debug
=
FALSE
;
DWORD
ret
;
HANDLE
start_event
,
done_event
;
char
*
cmd
;
...
...
@@ -276,6 +277,13 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
DWORD
exit_code
;
crash_blackbox_t
crash_blackbox
;
debugger_blackbox_t
dbg_blackbox
;
DWORD
wait_code
;
if
(
skip_crash_and_debug
)
{
win_skip
(
"Skipping crash_and_debug
\n
"
);
return
;
}
ret
=
RegSetValueExA
(
hkey
,
"auto"
,
0
,
REG_SZ
,
(
BYTE
*
)
"1"
,
2
);
ok
(
ret
==
ERROR_SUCCESS
,
"unable to set AeDebug/auto: ret=%d
\n
"
,
ret
);
...
...
@@ -303,7 +311,22 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
/* The process exits... */
trace
(
"waiting for child exit...
\n
"
);
ok
(
WaitForSingleObject
(
info
.
hProcess
,
60000
)
==
WAIT_OBJECT_0
,
"Timed out waiting for the child to crash
\n
"
);
wait_code
=
WaitForSingleObject
(
info
.
hProcess
,
30000
);
#if defined(_WIN64) && defined(__MINGW32__)
/* Mingw x64 doesn't output proper unwind info */
skip_crash_and_debug
=
broken
(
wait_code
==
WAIT_TIMEOUT
);
if
(
skip_crash_and_debug
)
{
TerminateProcess
(
info
.
hProcess
,
WAIT_TIMEOUT
);
WaitForSingleObject
(
info
.
hProcess
,
5000
);
CloseHandle
(
info
.
hProcess
);
assert
(
DeleteFileA
(
dbglog
)
!=
0
);
assert
(
DeleteFileA
(
childlog
)
!=
0
);
win_skip
(
"Giving up on child process
\n
"
);
return
;
}
#endif
ok
(
wait_code
==
WAIT_OBJECT_0
,
"Timed out waiting for the child to crash
\n
"
);
ok
(
GetExitCodeProcess
(
info
.
hProcess
,
&
exit_code
),
"GetExitCodeProcess failed: err=%d
\n
"
,
GetLastError
());
if
(
strstr
(
dbgtasks
,
"code2"
))
{
...
...
@@ -328,7 +351,19 @@ static void crash_and_debug(HKEY hkey, const char* argv0, const char* dbgtasks)
ok
(
SetEvent
(
start_event
),
"SetEvent(start_event) failed
\n
"
);
trace
(
"waiting for the debugger...
\n
"
);
ok
(
WaitForSingleObject
(
done_event
,
60000
)
==
WAIT_OBJECT_0
,
"Timed out waiting for the debugger
\n
"
);
wait_code
=
WaitForSingleObject
(
done_event
,
5000
);
#if defined(_WIN64) && defined(__MINGW32__)
/* Mingw x64 doesn't output proper unwind info */
skip_crash_and_debug
=
broken
(
wait_code
==
WAIT_TIMEOUT
);
if
(
skip_crash_and_debug
)
{
assert
(
DeleteFileA
(
dbglog
)
!=
0
);
assert
(
DeleteFileA
(
childlog
)
!=
0
);
win_skip
(
"Giving up on debugger
\n
"
);
return
;
}
#endif
ok
(
wait_code
==
WAIT_OBJECT_0
,
"Timed out waiting for the debugger
\n
"
);
assert
(
load_blackbox
(
childlog
,
&
crash_blackbox
,
sizeof
(
crash_blackbox
)));
assert
(
load_blackbox
(
dbglog
,
&
dbg_blackbox
,
sizeof
(
dbg_blackbox
)));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment