| Index: client/site_tests/logging_UserCrash/logging_UserCrash.py
|
| diff --git a/client/site_tests/logging_UserCrash/logging_UserCrash.py b/client/site_tests/logging_UserCrash/logging_UserCrash.py
|
| index 5c9ad5c16bfc85a77181fbf03cb2f7f0d3354f90..81f34e3250e7e3dc7eeb8c5847bb7040187181ad 100644
|
| --- a/client/site_tests/logging_UserCrash/logging_UserCrash.py
|
| +++ b/client/site_tests/logging_UserCrash/logging_UserCrash.py
|
| @@ -31,7 +31,7 @@ class logging_UserCrash(site_crash_test.CrashTest):
|
|
|
| self._log_reader.set_start_by_reboot(-1)
|
|
|
| - if not self._log_reader.can_find('Enabling crash handling'):
|
| + if not self._log_reader.can_find('Enabling user crash handling'):
|
| raise error.TestFail(
|
| 'user space crash handling was not started during last boot')
|
|
|
| @@ -224,17 +224,23 @@ class logging_UserCrash(site_crash_test.CrashTest):
|
|
|
|
|
| def _check_generated_minidump_sending(self, minidump_path,
|
| - username, crasher_basename):
|
| + username, crasher_basename,
|
| + will_syslog_give_name):
|
| # Now check that the sending works
|
| self._set_sending(True)
|
| result = self._call_sender_one_crash(
|
| username=username,
|
| - minidump=os.path.basename(minidump_path))
|
| + report=os.path.basename(minidump_path))
|
| if (not result['send_attempt'] or not result['send_success'] or
|
| - result['minidump_exists']):
|
| + result['report_exists']):
|
| raise error.TestFail('Minidump not sent properly')
|
| - if not crasher_basename in result['output']:
|
| - raise error.TestFail('Log did not contain crashing executable name')
|
| + if will_syslog_give_name:
|
| + if result['exec_name'] != crasher_basename:
|
| + raise error.TestFail('Executable name incorrect')
|
| + if result['report_kind'] != 'minidump':
|
| + raise error.TestFail('Expected a minidump report')
|
| + if result['report_name'] != minidump_path:
|
| + raise error.TestFail('Sent the wrong minidump report')
|
|
|
|
|
| def _check_crashing_process(self, username, with_breakpad):
|
| @@ -300,6 +306,7 @@ class logging_UserCrash(site_crash_test.CrashTest):
|
| self._check_minidump_stackwalk(crash_reporter_minidump,
|
| basename,
|
| from_crash_reporter=True)
|
| + will_syslog_give_name = True
|
|
|
| if breakpad_minidump:
|
| self._check_minidump_stackwalk(breakpad_minidump,
|
| @@ -307,10 +314,18 @@ class logging_UserCrash(site_crash_test.CrashTest):
|
| from_crash_reporter=False)
|
| send_minidump = breakpad_minidump
|
| os.unlink(crash_reporter_minidump)
|
| + # If you link against -lcrash, upon sending the syslog will
|
| + # just say exec_name: <very-long-guid>, where that GUID is the
|
| + # GUID generated during breakpad. Since -lcrash is going away,
|
| + # it seems ok to have the syslog be a little more opaque for
|
| + # these crashes. They'll be next to sends for the real crash
|
| + # anyway.
|
| + will_syslog_give_name = False
|
|
|
| self._check_generated_minidump_sending(send_minidump,
|
| username,
|
| - basename)
|
| + basename,
|
| + will_syslog_give_name)
|
|
|
| def _test_no_crash(self):
|
| """Test a program linked against libcrash_dumper can exit normally."""
|
| @@ -408,14 +423,13 @@ class logging_UserCrash(site_crash_test.CrashTest):
|
| # non-root, non-chronos user.
|
|
|
| def run_once(self):
|
| - self.run_crash_tests([
|
| - 'reporter_startup',
|
| - 'reporter_shutdown',
|
| - 'no_crash',
|
| - 'chronos_breakpad_crasher',
|
| - 'chronos_nobreakpad_crasher',
|
| - 'root_breakpad_crasher',
|
| - 'root_nobreakpad_crasher',
|
| - 'core_file_persists_in_debug',
|
| - 'core_file_removed_in_production',
|
| - ])
|
| + self.run_crash_tests(['reporter_startup',
|
| + 'reporter_shutdown',
|
| + 'no_crash',
|
| + 'chronos_breakpad_crasher',
|
| + 'chronos_nobreakpad_crasher',
|
| + 'root_breakpad_crasher',
|
| + 'root_nobreakpad_crasher',
|
| + 'core_file_persists_in_debug',
|
| + 'core_file_removed_in_production'],
|
| + initialize_crash_reporter = True)
|
|
|