diff options
Diffstat (limited to 'chromium/components/crash/content/browser/crash_dump_manager_android_unittest.cc')
-rw-r--r-- | chromium/components/crash/content/browser/crash_dump_manager_android_unittest.cc | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/chromium/components/crash/content/browser/crash_dump_manager_android_unittest.cc b/chromium/components/crash/content/browser/crash_dump_manager_android_unittest.cc index a468f14f8ef..a3ad2e198dc 100644 --- a/chromium/components/crash/content/browser/crash_dump_manager_android_unittest.cc +++ b/chromium/components/crash/content/browser/crash_dump_manager_android_unittest.cc @@ -39,18 +39,15 @@ class CrashDumpManagerTest : public testing::Test { // TODO(csharrison): This test harness is not robust enough. Namely, it does // not support actually processing a non-empty crash dump, due to JNI calls. static void CreateAndProcessEmptyMinidump( - int process_host_id, - content::ProcessType process_type, - base::TerminationStatus status, - base::android::ApplicationState app_state) { + const CrashDumpObserver::TerminationInfo& info) { base::ScopedFD fd = CrashDumpManager::GetInstance()->CreateMinidumpFileForChild( - process_host_id); + info.process_host_id); EXPECT_TRUE(fd.is_valid()); base::ScopedTempDir dump_dir; EXPECT_TRUE(dump_dir.CreateUniqueTempDir()); CrashDumpManager::GetInstance()->ProcessMinidumpFileFromChild( - dump_dir.GetPath(), process_host_id, process_type, status, app_state); + dump_dir.GetPath(), info); } private: @@ -95,20 +92,27 @@ TEST_F(CrashDumpManagerTest, SimpleOOM) { CrashDumpManagerObserver crash_dump_observer; manager->AddObserver(&crash_dump_observer); - int process_host_id = 1; + CrashDumpObserver::TerminationInfo termination_info; + termination_info.process_host_id = 1; + termination_info.pid = base::kNullProcessHandle; + termination_info.process_type = content::PROCESS_TYPE_RENDERER; + termination_info.app_state = + base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES; + termination_info.normal_termination = false; + termination_info.has_oom_protection_bindings = true; + termination_info.was_killed_intentionally_by_browser = false; + termination_info.was_oom_protected_status = true; base::PostTaskWithTraits( FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, base::Bind(&CrashDumpManagerTest::CreateAndProcessEmptyMinidump, - process_host_id, content::PROCESS_TYPE_RENDERER, - base::TERMINATION_STATUS_OOM_PROTECTED, - base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES)); + termination_info)); crash_dump_observer.WaitForProcessed(); const CrashDumpManager::CrashDumpDetails& details = crash_dump_observer.last_details(); - EXPECT_EQ(process_host_id, details.process_host_id); + EXPECT_EQ(termination_info.process_host_id, details.process_host_id); EXPECT_EQ(content::PROCESS_TYPE_RENDERER, details.process_type); - EXPECT_EQ(base::TERMINATION_STATUS_OOM_PROTECTED, details.termination_status); + EXPECT_TRUE(details.was_oom_protected_status); EXPECT_EQ(base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES, details.app_state); EXPECT_EQ(0, details.file_size); @@ -126,21 +130,28 @@ TEST_F(CrashDumpManagerTest, NoDumpCreated) { CrashDumpManagerObserver crash_dump_observer; manager->AddObserver(&crash_dump_observer); - int process_host_id = 1; + CrashDumpObserver::TerminationInfo termination_info; + termination_info.process_host_id = 1; + termination_info.pid = base::kNullProcessHandle; + termination_info.process_type = content::PROCESS_TYPE_RENDERER; + termination_info.app_state = + base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES; + termination_info.normal_termination = false; + termination_info.has_oom_protection_bindings = true; + termination_info.was_killed_intentionally_by_browser = false; + termination_info.was_oom_protected_status = true; base::PostTaskWithTraits( FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND}, base::Bind(&CrashDumpManager::ProcessMinidumpFileFromChild, - base::Unretained(manager), base::FilePath(), process_host_id, - content::PROCESS_TYPE_RENDERER, - base::TERMINATION_STATUS_OOM_PROTECTED, - base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES)); + base::Unretained(manager), base::FilePath(), + termination_info)); crash_dump_observer.WaitForProcessed(); const CrashDumpManager::CrashDumpDetails& details = crash_dump_observer.last_details(); - EXPECT_EQ(process_host_id, details.process_host_id); + EXPECT_EQ(termination_info.process_host_id, details.process_host_id); EXPECT_EQ(content::PROCESS_TYPE_RENDERER, details.process_type); - EXPECT_EQ(base::TERMINATION_STATUS_OOM_PROTECTED, details.termination_status); + EXPECT_TRUE(details.was_oom_protected_status); EXPECT_EQ(base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES, details.app_state); EXPECT_EQ(0, details.file_size); |