| Index: third_party/crashpad/crashpad/snapshot/win/end_to_end_test.py
|
| diff --git a/third_party/crashpad/crashpad/snapshot/win/end_to_end_test.py b/third_party/crashpad/crashpad/snapshot/win/end_to_end_test.py
|
| index f469bcf48ca72bfcc9eacba9d4e784646f431c15..42999df8a2bb15f480b0e3fcd64c906789e57b36 100755
|
| --- a/third_party/crashpad/crashpad/snapshot/win/end_to_end_test.py
|
| +++ b/third_party/crashpad/crashpad/snapshot/win/end_to_end_test.py
|
| @@ -143,6 +143,10 @@ def GetDumpFromOtherProgram(out_dir, pipe_name, *args):
|
| *args)
|
|
|
|
|
| +def GetDumpFromSignal(out_dir, pipe_name, *args):
|
| + return GetDumpFromProgram(out_dir, pipe_name, 'crashy_signal.exe', *args)
|
| +
|
| +
|
| def GetDumpFromSelfDestroyingProgram(out_dir, pipe_name):
|
| return GetDumpFromProgram(out_dir, pipe_name, 'self_destroying_program.exe')
|
|
|
| @@ -201,6 +205,8 @@ def RunTests(cdb_path,
|
| z7_dump_path,
|
| other_program_path,
|
| other_program_no_exception_path,
|
| + sigabrt_main_path,
|
| + sigabrt_background_path,
|
| pipe_name):
|
| """Runs various tests in sequence. Runs a new cdb instance on the dump for
|
| each block of tests to reduce the chances that output from one command is
|
| @@ -361,6 +367,13 @@ def RunTests(cdb_path,
|
| 'other program with no exception given')
|
| out.Check('!RaiseException', 'other program in RaiseException()')
|
|
|
| + out = CdbRun(cdb_path, sigabrt_main_path, '.ecxr')
|
| + out.Check('code 40000015', 'got sigabrt signal')
|
| + out.Check('::HandleAbortSignal', ' stack in expected location')
|
| +
|
| + out = CdbRun(cdb_path, sigabrt_background_path, '.ecxr')
|
| + out.Check('code 40000015', 'got sigabrt signal from background thread')
|
| +
|
|
|
| def main(args):
|
| try:
|
| @@ -411,6 +424,15 @@ def main(args):
|
| if not other_program_no_exception_path:
|
| return 1
|
|
|
| + sigabrt_main_path = GetDumpFromSignal(args[0], pipe_name, 'main')
|
| + if not sigabrt_main_path:
|
| + return 1
|
| +
|
| + sigabrt_background_path = GetDumpFromSignal(
|
| + args[0], pipe_name, 'background')
|
| + if not sigabrt_background_path:
|
| + return 1
|
| +
|
| RunTests(cdb_path,
|
| crashy_dump_path,
|
| start_handler_dump_path,
|
| @@ -418,6 +440,8 @@ def main(args):
|
| z7_dump_path,
|
| other_program_path,
|
| other_program_no_exception_path,
|
| + sigabrt_main_path,
|
| + sigabrt_background_path,
|
| pipe_name)
|
|
|
| return 1 if g_had_failures else 0
|
|
|