| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |