Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6016)

Unified Diff: client/crash_report_database_test.cc

Issue 1395653002: crashpad_database_util: Don’t create a database unless explicitly asked (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: For checkin Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/crash_report_database_mac.mm ('k') | client/crash_report_database_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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));
« no previous file with comments | « client/crash_report_database_mac.mm ('k') | client/crash_report_database_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698