Modify crash-reporter to collect crash information for unofficial builds.
BUG=chromium-os:12207 TESTS=logging_UserCrash, logging_CrashSender, manual test which involves purposely crashing a test to determine if minidump information is properly collected Change-Id: Id2195125289a695515b1722442116d6a6d9c4895 Review URL: http://codereview.chromium.org/6559003
This commit is contained in:
parent
d49d362f61
commit
604f5c0d3d
3 changed files with 15 additions and 0 deletions
|
|
@ -24,6 +24,7 @@ static const char kLsbRelease[] = "/etc/lsb-release";
|
|||
static const char kShellPath[] = "/bin/sh";
|
||||
static const char kSystemCrashPath[] = "/var/spool/crash";
|
||||
static const char kUserCrashPath[] = "/home/chronos/user/crash";
|
||||
static const char kCrashTestInProgressPath[] = "/tmp/crash-test-in-progress";
|
||||
|
||||
// Directory mode of the user crash spool directory.
|
||||
static const mode_t kUserCrashPathMode = 0755;
|
||||
|
|
@ -410,3 +411,7 @@ void CrashCollector::WriteCrashMetaData(const FilePath &meta_path,
|
|||
logger_->LogError("Unable to write %s", meta_path.value().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
bool CrashCollector::IsCrashTestInProgress() {
|
||||
return file_util::PathExists(FilePath(kCrashTestInProgressPath));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -138,6 +138,9 @@ class CrashCollector {
|
|||
const std::string &exec_name,
|
||||
const std::string &payload_path);
|
||||
|
||||
// Returns true if the a crash test is currently running.
|
||||
bool IsCrashTestInProgress();
|
||||
|
||||
CountCrashFunction count_crash_function_;
|
||||
IsFeedbackAllowedFunction is_feedback_allowed_function_;
|
||||
SystemLogging *logger_;
|
||||
|
|
|
|||
|
|
@ -472,6 +472,13 @@ bool UserCollector::HandleCrash(const std::string &crash_attributes,
|
|||
logger_->LogWarning("Received crash notification for %s[%d] sig %d (%s)",
|
||||
exec.c_str(), pid, signal, handling_string);
|
||||
|
||||
// For developer builds, we always want to keep the crash reports unless
|
||||
// we're testing the crash facilities themselves.
|
||||
if (file_util::PathExists(FilePath(kLeaveCoreFile)) &&
|
||||
!IsCrashTestInProgress()) {
|
||||
feedback = true;
|
||||
}
|
||||
|
||||
if (feedback) {
|
||||
count_crash_function_();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue