| Index: client/crash_report_database_test.cc
|
| diff --git a/client/crash_report_database_test.cc b/client/crash_report_database_test.cc
|
| index 83b0de0fc4156258258e6f8ec8994f2ff54431e4..54dcdd75e014fcb00f133a30a41f62281dd97e40 100644
|
| --- a/client/crash_report_database_test.cc
|
| +++ b/client/crash_report_database_test.cc
|
| @@ -75,8 +75,7 @@ class CrashReportDatabaseTest : public testing::Test {
|
| db_->GetReportForUploading(uuid, &report));
|
| EXPECT_NE(UUID(), report->uuid);
|
| EXPECT_FALSE(report->file_path.empty());
|
| - EXPECT_TRUE(FileExists(report->file_path))
|
| - << report->file_path.value();
|
| + EXPECT_TRUE(FileExists(report->file_path)) << report->file_path.value();
|
| EXPECT_GT(report->creation_time, 0);
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| db_->RecordUploadAttempt(report, successful, id));
|
| @@ -116,7 +115,7 @@ TEST_F(CrashReportDatabaseTest, Initialize) {
|
|
|
| Settings* settings = db()->GetSettings();
|
|
|
| - UUID client_ids[2];
|
| + UUID client_ids[3];
|
| ASSERT_TRUE(settings->GetClientID(&client_ids[0]));
|
| EXPECT_NE(client_ids[0], UUID());
|
|
|
| @@ -127,7 +126,7 @@ TEST_F(CrashReportDatabaseTest, Initialize) {
|
| // Close and reopen the database at the same path.
|
| ResetDatabase();
|
| EXPECT_FALSE(db());
|
| - auto db = CrashReportDatabase::Initialize(path());
|
| + auto db = CrashReportDatabase::InitializeWithoutCreating(path());
|
| ASSERT_TRUE(db);
|
|
|
| settings = db->GetSettings();
|
| @@ -138,12 +137,31 @@ TEST_F(CrashReportDatabaseTest, Initialize) {
|
| ASSERT_TRUE(settings->GetLastUploadAttemptTime(&last_upload_attempt_time));
|
| EXPECT_EQ(0, last_upload_attempt_time);
|
|
|
| + // Check that the database can also be opened by the method that is permitted
|
| + // to create it.
|
| + db = CrashReportDatabase::Initialize(path());
|
| + ASSERT_TRUE(db);
|
| +
|
| + settings = db->GetSettings();
|
| +
|
| + ASSERT_TRUE(settings->GetClientID(&client_ids[2]));
|
| + EXPECT_EQ(client_ids[0], client_ids[2]);
|
| +
|
| + ASSERT_TRUE(settings->GetLastUploadAttemptTime(&last_upload_attempt_time));
|
| + EXPECT_EQ(0, last_upload_attempt_time);
|
| +
|
| std::vector<CrashReportDatabase::Report> reports;
|
| EXPECT_EQ(CrashReportDatabase::kNoError, db->GetPendingReports(&reports));
|
| EXPECT_TRUE(reports.empty());
|
| reports.clear();
|
| EXPECT_EQ(CrashReportDatabase::kNoError, db->GetCompletedReports(&reports));
|
| EXPECT_TRUE(reports.empty());
|
| +
|
| + // InitializeWithoutCreating() shouldn’t create a nonexistent database.
|
| + base::FilePath non_database_path =
|
| + path().DirName().Append(FILE_PATH_LITERAL("not_a_database"));
|
| + db = CrashReportDatabase::InitializeWithoutCreating(non_database_path);
|
| + EXPECT_FALSE(db);
|
| }
|
|
|
| TEST_F(CrashReportDatabaseTest, NewCrashReport) {
|
| @@ -163,14 +181,12 @@ TEST_F(CrashReportDatabaseTest, NewCrashReport) {
|
| ExpectPreparedCrashReport(report);
|
|
|
| std::vector<CrashReportDatabase::Report> reports;
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&reports));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&reports));
|
| ASSERT_EQ(1u, reports.size());
|
| EXPECT_EQ(report.uuid, reports[0].uuid);
|
|
|
| reports.clear();
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetCompletedReports(&reports));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetCompletedReports(&reports));
|
| EXPECT_TRUE(reports.empty());
|
| }
|
|
|
| @@ -320,8 +336,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| const UUID& report_4_uuid = reports[4].uuid;
|
|
|
| std::vector<CrashReportDatabase::Report> pending;
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&pending));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&pending));
|
|
|
| std::vector<CrashReportDatabase::Report> completed;
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| @@ -334,8 +349,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| UploadReport(report_1_uuid, true, "report1");
|
|
|
| pending.clear();
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&pending));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&pending));
|
| completed.clear();
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| db()->GetCompletedReports(&completed));
|
| @@ -357,8 +371,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| UploadReport(report_2_uuid, false, std::string());
|
|
|
| pending.clear();
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&pending));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&pending));
|
| completed.clear();
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| db()->GetCompletedReports(&completed));
|
| @@ -380,8 +393,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| UploadReport(report_4_uuid, true, "report_4");
|
|
|
| pending.clear();
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&pending));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&pending));
|
| completed.clear();
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| db()->GetCompletedReports(&completed));
|
| @@ -393,8 +405,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| UploadReport(report_2_uuid, true, "report 2");
|
|
|
| pending.clear();
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&pending));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&pending));
|
| completed.clear();
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| db()->GetCompletedReports(&completed));
|
| @@ -403,8 +414,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| ASSERT_EQ(3u, completed.size());
|
|
|
| for (const auto& report : pending) {
|
| - EXPECT_TRUE(report.uuid == report_0_uuid ||
|
| - report.uuid == report_3_uuid);
|
| + EXPECT_TRUE(report.uuid == report_0_uuid || report.uuid == report_3_uuid);
|
| EXPECT_FALSE(report.file_path.empty());
|
| }
|
|
|
| @@ -413,8 +423,7 @@ TEST_F(CrashReportDatabaseTest, GetCompletedAndNotUploadedReports) {
|
| db()->SkipReportUpload(report_3_uuid));
|
|
|
| pending.clear();
|
| - EXPECT_EQ(CrashReportDatabase::kNoError,
|
| - db()->GetPendingReports(&pending));
|
| + EXPECT_EQ(CrashReportDatabase::kNoError, db()->GetPendingReports(&pending));
|
| completed.clear();
|
| EXPECT_EQ(CrashReportDatabase::kNoError,
|
| db()->GetCompletedReports(&completed));
|
|
|