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

Side by Side Diff: client/crash_report_database_test.cc

Issue 1022663002: Add crashpad_database_util and its man page (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: 2015 Created 5 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Crashpad Authors. All rights reserved. 1 // Copyright 2015 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 pending.clear(); 365 pending.clear();
366 EXPECT_EQ(CrashReportDatabase::kNoError, 366 EXPECT_EQ(CrashReportDatabase::kNoError,
367 db()->GetPendingReports(&pending)); 367 db()->GetPendingReports(&pending));
368 completed.clear(); 368 completed.clear();
369 EXPECT_EQ(CrashReportDatabase::kNoError, 369 EXPECT_EQ(CrashReportDatabase::kNoError,
370 db()->GetCompletedReports(&completed)); 370 db()->GetCompletedReports(&completed));
371 371
372 EXPECT_EQ(4u, pending.size()); 372 EXPECT_EQ(4u, pending.size());
373 ASSERT_EQ(1u, completed.size()); 373 ASSERT_EQ(1u, completed.size());
374 374
375 for (const auto& report : pending) 375 for (const auto& report : pending) {
376 EXPECT_NE(report_1_uuid, report.uuid); 376 EXPECT_NE(report_1_uuid, report.uuid);
377 EXPECT_FALSE(report.file_path.empty());
378 }
377 EXPECT_EQ(report_1_uuid, completed[0].uuid); 379 EXPECT_EQ(report_1_uuid, completed[0].uuid);
378 EXPECT_EQ("report1", completed[0].id); 380 EXPECT_EQ("report1", completed[0].id);
379 EXPECT_EQ(true, completed[0].uploaded); 381 EXPECT_EQ(true, completed[0].uploaded);
380 EXPECT_GT(completed[0].last_upload_attempt_time, 0); 382 EXPECT_GT(completed[0].last_upload_attempt_time, 0);
381 EXPECT_EQ(1, completed[0].upload_attempts); 383 EXPECT_EQ(1, completed[0].upload_attempts);
382 384
383 // Fail to upload one report. 385 // Fail to upload one report.
384 UploadReport(report_2_uuid, false, std::string()); 386 UploadReport(report_2_uuid, false, std::string());
385 387
386 pending.clear(); 388 pending.clear();
387 EXPECT_EQ(CrashReportDatabase::kNoError, 389 EXPECT_EQ(CrashReportDatabase::kNoError,
388 db()->GetPendingReports(&pending)); 390 db()->GetPendingReports(&pending));
389 completed.clear(); 391 completed.clear();
390 EXPECT_EQ(CrashReportDatabase::kNoError, 392 EXPECT_EQ(CrashReportDatabase::kNoError,
391 db()->GetCompletedReports(&completed)); 393 db()->GetCompletedReports(&completed));
392 394
393 EXPECT_EQ(4u, pending.size()); 395 EXPECT_EQ(4u, pending.size());
394 ASSERT_EQ(1u, completed.size()); 396 ASSERT_EQ(1u, completed.size());
395 397
396 for (const auto& report : pending) { 398 for (const auto& report : pending) {
397 if (report.upload_attempts != 0) { 399 if (report.upload_attempts != 0) {
398 EXPECT_EQ(report_2_uuid, report.uuid); 400 EXPECT_EQ(report_2_uuid, report.uuid);
399 EXPECT_GT(report.last_upload_attempt_time, 0); 401 EXPECT_GT(report.last_upload_attempt_time, 0);
400 EXPECT_FALSE(report.uploaded); 402 EXPECT_FALSE(report.uploaded);
401 EXPECT_TRUE(report.id.empty()); 403 EXPECT_TRUE(report.id.empty());
402 } 404 }
405 EXPECT_FALSE(report.file_path.empty());
403 } 406 }
404 407
405 // Upload a second report. 408 // Upload a second report.
406 UploadReport(report_4_uuid, true, "report_4"); 409 UploadReport(report_4_uuid, true, "report_4");
407 410
408 pending.clear(); 411 pending.clear();
409 EXPECT_EQ(CrashReportDatabase::kNoError, 412 EXPECT_EQ(CrashReportDatabase::kNoError,
410 db()->GetPendingReports(&pending)); 413 db()->GetPendingReports(&pending));
411 completed.clear(); 414 completed.clear();
412 EXPECT_EQ(CrashReportDatabase::kNoError, 415 EXPECT_EQ(CrashReportDatabase::kNoError,
(...skipping 11 matching lines...) Expand all
424 completed.clear(); 427 completed.clear();
425 EXPECT_EQ(CrashReportDatabase::kNoError, 428 EXPECT_EQ(CrashReportDatabase::kNoError,
426 db()->GetCompletedReports(&completed)); 429 db()->GetCompletedReports(&completed));
427 430
428 EXPECT_EQ(2u, pending.size()); 431 EXPECT_EQ(2u, pending.size());
429 ASSERT_EQ(3u, completed.size()); 432 ASSERT_EQ(3u, completed.size());
430 433
431 for (const auto& report : pending) { 434 for (const auto& report : pending) {
432 EXPECT_TRUE(report.uuid == report_0_uuid || 435 EXPECT_TRUE(report.uuid == report_0_uuid ||
433 report.uuid == report_3_uuid); 436 report.uuid == report_3_uuid);
437 EXPECT_FALSE(report.file_path.empty());
434 } 438 }
435 439
436 // Skip upload for one report. 440 // Skip upload for one report.
437 EXPECT_EQ(CrashReportDatabase::kNoError, 441 EXPECT_EQ(CrashReportDatabase::kNoError,
438 db()->SkipReportUpload(report_3_uuid)); 442 db()->SkipReportUpload(report_3_uuid));
439 443
440 pending.clear(); 444 pending.clear();
441 EXPECT_EQ(CrashReportDatabase::kNoError, 445 EXPECT_EQ(CrashReportDatabase::kNoError,
442 db()->GetPendingReports(&pending)); 446 db()->GetPendingReports(&pending));
443 completed.clear(); 447 completed.clear();
444 EXPECT_EQ(CrashReportDatabase::kNoError, 448 EXPECT_EQ(CrashReportDatabase::kNoError,
445 db()->GetCompletedReports(&completed)); 449 db()->GetCompletedReports(&completed));
446 450
447 ASSERT_EQ(1u, pending.size()); 451 ASSERT_EQ(1u, pending.size());
448 ASSERT_EQ(4u, completed.size()); 452 ASSERT_EQ(4u, completed.size());
449 453
450 EXPECT_EQ(report_0_uuid, pending[0].uuid); 454 EXPECT_EQ(report_0_uuid, pending[0].uuid);
451 455
452 for (const auto& report : completed) { 456 for (const auto& report : completed) {
453 if (report.uuid == report_3_uuid) { 457 if (report.uuid == report_3_uuid) {
454 EXPECT_FALSE(report.uploaded); 458 EXPECT_FALSE(report.uploaded);
455 EXPECT_EQ(0, report.upload_attempts); 459 EXPECT_EQ(0, report.upload_attempts);
456 EXPECT_EQ(0, report.last_upload_attempt_time); 460 EXPECT_EQ(0, report.last_upload_attempt_time);
457 } else { 461 } else {
458 EXPECT_TRUE(report.uploaded); 462 EXPECT_TRUE(report.uploaded);
459 EXPECT_GT(report.upload_attempts, 0); 463 EXPECT_GT(report.upload_attempts, 0);
460 EXPECT_GT(report.last_upload_attempt_time, 0); 464 EXPECT_GT(report.last_upload_attempt_time, 0);
461 } 465 }
466 EXPECT_FALSE(report.file_path.empty());
462 } 467 }
463 } 468 }
464 469
465 TEST_F(CrashReportDatabaseTest, DuelingUploads) { 470 TEST_F(CrashReportDatabaseTest, DuelingUploads) {
466 CrashReportDatabase::Report report; 471 CrashReportDatabase::Report report;
467 CreateCrashReport(&report); 472 CreateCrashReport(&report);
468 473
469 const CrashReportDatabase::Report* upload_report; 474 const CrashReportDatabase::Report* upload_report;
470 EXPECT_EQ(CrashReportDatabase::kNoError, 475 EXPECT_EQ(CrashReportDatabase::kNoError,
471 db()->GetReportForUploading(report.uuid, &upload_report)); 476 db()->GetReportForUploading(report.uuid, &upload_report));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 << ErrnoMessage("unlink"); 522 << ErrnoMessage("unlink");
518 #endif 523 #endif
519 524
520 EXPECT_EQ(CrashReportDatabase::kReportNotFound, 525 EXPECT_EQ(CrashReportDatabase::kReportNotFound,
521 db()->LookUpCrashReport(uuid, &report)); 526 db()->LookUpCrashReport(uuid, &report));
522 } 527 }
523 528
524 } // namespace 529 } // namespace
525 } // namespace test 530 } // namespace test
526 } // namespace crashpad 531 } // namespace crashpad
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698