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 |