Chromium Code Reviews| Index: base/tracked_objects_unittest.cc |
| diff --git a/base/tracked_objects_unittest.cc b/base/tracked_objects_unittest.cc |
| index 77130912420722fc21e3411f58a26fa5d041beab..b5ab329734276c2ba63a8e916f58b9eea40a0618 100644 |
| --- a/base/tracked_objects_unittest.cc |
| +++ b/base/tracked_objects_unittest.cc |
| @@ -71,28 +71,38 @@ class TrackedObjectsTest : public testing::Test { |
| int count, |
| int run_ms, |
| int queue_ms) { |
| - ASSERT_EQ(1u, process_data.tasks.size()); |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
|
Ilya Sherman
2015/03/17 23:57:38
nit: The "u" is important -- you're currently comp
vadimt
2015/03/19 00:20:44
Done.
|
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
|
Ilya Sherman
2015/03/17 23:57:38
nit: auto
vadimt
2015/03/19 00:20:44
Done.
|
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| - EXPECT_EQ(kFile, process_data.tasks[0].birth.location.file_name); |
| + ASSERT_EQ(1u, process_data_phase.tasks.size()); |
| + |
| + EXPECT_EQ(kFile, process_data_phase.tasks[0].birth.location.file_name); |
| EXPECT_EQ(function_name, |
| - process_data.tasks[0].birth.location.function_name); |
| - EXPECT_EQ(kLineNumber, process_data.tasks[0].birth.location.line_number); |
| + process_data_phase.tasks[0].birth.location.function_name); |
| + EXPECT_EQ(kLineNumber, |
| + process_data_phase.tasks[0].birth.location.line_number); |
| - EXPECT_EQ(birth_thread, process_data.tasks[0].birth.thread_name); |
| + EXPECT_EQ(birth_thread, process_data_phase.tasks[0].birth.thread_name); |
| - EXPECT_EQ(count, process_data.tasks[0].death_data.count); |
| + EXPECT_EQ(count, process_data_phase.tasks[0].death_data.count); |
| EXPECT_EQ(count * run_ms, |
| - process_data.tasks[0].death_data.run_duration_sum); |
| - EXPECT_EQ(run_ms, process_data.tasks[0].death_data.run_duration_max); |
| - EXPECT_EQ(run_ms, process_data.tasks[0].death_data.run_duration_sample); |
| + process_data_phase.tasks[0].death_data.run_duration_sum); |
| + EXPECT_EQ(run_ms, process_data_phase.tasks[0].death_data.run_duration_max); |
| + EXPECT_EQ(run_ms, |
| + process_data_phase.tasks[0].death_data.run_duration_sample); |
| EXPECT_EQ(count * queue_ms, |
| - process_data.tasks[0].death_data.queue_duration_sum); |
| - EXPECT_EQ(queue_ms, process_data.tasks[0].death_data.queue_duration_max); |
| - EXPECT_EQ(queue_ms, process_data.tasks[0].death_data.queue_duration_sample); |
| + process_data_phase.tasks[0].death_data.queue_duration_sum); |
| + EXPECT_EQ(queue_ms, |
| + process_data_phase.tasks[0].death_data.queue_duration_max); |
| + EXPECT_EQ(queue_ms, |
| + process_data_phase.tasks[0].death_data.queue_duration_sample); |
| - EXPECT_EQ(death_thread, process_data.tasks[0].death_thread_name); |
| + EXPECT_EQ(death_thread, process_data_phase.tasks[0].death_thread_name); |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id); |
| } |
| @@ -230,37 +240,50 @@ TEST_F(TrackedObjectsTest, TinyStartupShutdown) { |
| ProcessDataSnapshot process_data; |
| ThreadData::Snapshot(&process_data); |
| - ASSERT_EQ(1u, process_data.tasks.size()); |
| - EXPECT_EQ(kFile, process_data.tasks[0].birth.location.file_name); |
| - EXPECT_EQ(kFunction, process_data.tasks[0].birth.location.function_name); |
| - EXPECT_EQ(kLineNumber, process_data.tasks[0].birth.location.line_number); |
| - EXPECT_EQ(kWorkerThreadName, process_data.tasks[0].birth.thread_name); |
| - EXPECT_EQ(1, process_data.tasks[0].death_data.count); |
| - EXPECT_EQ(time_elapsed, process_data.tasks[0].death_data.run_duration_sum); |
| - EXPECT_EQ(time_elapsed, process_data.tasks[0].death_data.run_duration_max); |
| - EXPECT_EQ(time_elapsed, process_data.tasks[0].death_data.run_duration_sample); |
| - EXPECT_EQ(0, process_data.tasks[0].death_data.queue_duration_sum); |
| - EXPECT_EQ(0, process_data.tasks[0].death_data.queue_duration_max); |
| - EXPECT_EQ(0, process_data.tasks[0].death_data.queue_duration_sample); |
| - EXPECT_EQ(kWorkerThreadName, process_data.tasks[0].death_thread_name); |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| + ASSERT_EQ(1u, process_data_phase.tasks.size()); |
| + EXPECT_EQ(kFile, process_data_phase.tasks[0].birth.location.file_name); |
| + EXPECT_EQ(kFunction, |
| + process_data_phase.tasks[0].birth.location.function_name); |
| + EXPECT_EQ(kLineNumber, |
| + process_data_phase.tasks[0].birth.location.line_number); |
| + EXPECT_EQ(kWorkerThreadName, process_data_phase.tasks[0].birth.thread_name); |
| + EXPECT_EQ(1, process_data_phase.tasks[0].death_data.count); |
| + EXPECT_EQ(time_elapsed, |
| + process_data_phase.tasks[0].death_data.run_duration_sum); |
| + EXPECT_EQ(time_elapsed, |
| + process_data_phase.tasks[0].death_data.run_duration_max); |
| + EXPECT_EQ(time_elapsed, |
| + process_data_phase.tasks[0].death_data.run_duration_sample); |
| + EXPECT_EQ(0, process_data_phase.tasks[0].death_data.queue_duration_sum); |
| + EXPECT_EQ(0, process_data_phase.tasks[0].death_data.queue_duration_max); |
| + EXPECT_EQ(0, process_data_phase.tasks[0].death_data.queue_duration_sample); |
| + EXPECT_EQ(kWorkerThreadName, process_data_phase.tasks[0].death_thread_name); |
| if (ThreadData::TrackingParentChildStatus()) { |
| - ASSERT_EQ(1u, process_data.descendants.size()); |
| - EXPECT_EQ(kFile, process_data.descendants[0].parent.location.file_name); |
| + ASSERT_EQ(1u, process_data_phase.descendants.size()); |
| + EXPECT_EQ(kFile, |
| + process_data_phase.descendants[0].parent.location.file_name); |
| EXPECT_EQ(kFunction, |
| - process_data.descendants[0].parent.location.function_name); |
| + process_data_phase.descendants[0].parent.location.function_name); |
| EXPECT_EQ(kLineNumber, |
| - process_data.descendants[0].parent.location.line_number); |
| + process_data_phase.descendants[0].parent.location.line_number); |
| EXPECT_EQ(kWorkerThreadName, |
| - process_data.descendants[0].parent.thread_name); |
| - EXPECT_EQ(kFile, process_data.descendants[0].child.location.file_name); |
| + process_data_phase.descendants[0].parent.thread_name); |
| + EXPECT_EQ(kFile, |
| + process_data_phase.descendants[0].child.location.file_name); |
| EXPECT_EQ(kFunction, |
| - process_data.descendants[0].child.location.function_name); |
| + process_data_phase.descendants[0].child.location.function_name); |
| EXPECT_EQ(kLineNumber, |
| - process_data.descendants[0].child.location.line_number); |
| - EXPECT_EQ(kWorkerThreadName, process_data.descendants[0].child.thread_name); |
| + process_data_phase.descendants[0].child.location.line_number); |
| + EXPECT_EQ(kWorkerThreadName, |
| + process_data_phase.descendants[0].child.thread_name); |
| } else { |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| } |
| } |
| @@ -318,8 +341,15 @@ TEST_F(TrackedObjectsTest, DeactivatedBirthOnlyToSnapshotWorkerThread) { |
| ProcessDataSnapshot process_data; |
| ThreadData::Snapshot(&process_data); |
| - EXPECT_EQ(0u, process_data.tasks.size()); |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| + |
| + EXPECT_EQ(0u, process_data_phase.tasks.size()); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id); |
| } |
| @@ -335,8 +365,15 @@ TEST_F(TrackedObjectsTest, DeactivatedBirthOnlyToSnapshotMainThread) { |
| ProcessDataSnapshot process_data; |
| ThreadData::Snapshot(&process_data); |
| - EXPECT_EQ(0u, process_data.tasks.size()); |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| + |
| + EXPECT_EQ(0u, process_data_phase.tasks.size()); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id); |
| } |
| @@ -425,8 +462,8 @@ TEST_F(TrackedObjectsTest, LifeCycleMidDeactivatedToSnapshotMainThread) { |
| pending_task.time_posted = kTimePosted; // Overwrite implied Now(). |
| // Turn off tracking now that we have births. |
| - EXPECT_TRUE(ThreadData::InitializeAndSetTrackingStatus( |
| - ThreadData::DEACTIVATED)); |
| + EXPECT_TRUE( |
| + ThreadData::InitializeAndSetTrackingStatus(ThreadData::DEACTIVATED)); |
| const unsigned int kStartOfRun = 5; |
| const unsigned int kEndOfRun = 7; |
| @@ -474,8 +511,15 @@ TEST_F(TrackedObjectsTest, LifeCyclePreDeactivatedToSnapshotMainThread) { |
| ProcessDataSnapshot process_data; |
| ThreadData::Snapshot(&process_data); |
| - EXPECT_EQ(0u, process_data.tasks.size()); |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| + |
| + EXPECT_EQ(0u, process_data_phase.tasks.size()); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id); |
| } |
| @@ -558,34 +602,44 @@ TEST_F(TrackedObjectsTest, DifferentLives) { |
| ProcessDataSnapshot process_data; |
| ThreadData::Snapshot(&process_data); |
| - ASSERT_EQ(2u, process_data.tasks.size()); |
| - |
| - EXPECT_EQ(kFile, process_data.tasks[0].birth.location.file_name); |
| - EXPECT_EQ(kFunction, process_data.tasks[0].birth.location.function_name); |
| - EXPECT_EQ(kLineNumber, process_data.tasks[0].birth.location.line_number); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[0].birth.thread_name); |
| - EXPECT_EQ(1, process_data.tasks[0].death_data.count); |
| - EXPECT_EQ(2, process_data.tasks[0].death_data.run_duration_sum); |
| - EXPECT_EQ(2, process_data.tasks[0].death_data.run_duration_max); |
| - EXPECT_EQ(2, process_data.tasks[0].death_data.run_duration_sample); |
| - EXPECT_EQ(4, process_data.tasks[0].death_data.queue_duration_sum); |
| - EXPECT_EQ(4, process_data.tasks[0].death_data.queue_duration_max); |
| - EXPECT_EQ(4, process_data.tasks[0].death_data.queue_duration_sample); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[0].death_thread_name); |
| - EXPECT_EQ(kFile, process_data.tasks[1].birth.location.file_name); |
| - EXPECT_EQ(kFunction, process_data.tasks[1].birth.location.function_name); |
| + |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| + |
| + ASSERT_EQ(2u, process_data_phase.tasks.size()); |
| + |
| + EXPECT_EQ(kFile, process_data_phase.tasks[0].birth.location.file_name); |
| + EXPECT_EQ(kFunction, |
| + process_data_phase.tasks[0].birth.location.function_name); |
| + EXPECT_EQ(kLineNumber, |
| + process_data_phase.tasks[0].birth.location.line_number); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[0].birth.thread_name); |
| + EXPECT_EQ(1, process_data_phase.tasks[0].death_data.count); |
| + EXPECT_EQ(2, process_data_phase.tasks[0].death_data.run_duration_sum); |
| + EXPECT_EQ(2, process_data_phase.tasks[0].death_data.run_duration_max); |
| + EXPECT_EQ(2, process_data_phase.tasks[0].death_data.run_duration_sample); |
| + EXPECT_EQ(4, process_data_phase.tasks[0].death_data.queue_duration_sum); |
| + EXPECT_EQ(4, process_data_phase.tasks[0].death_data.queue_duration_max); |
| + EXPECT_EQ(4, process_data_phase.tasks[0].death_data.queue_duration_sample); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[0].death_thread_name); |
| + EXPECT_EQ(kFile, process_data_phase.tasks[1].birth.location.file_name); |
| + EXPECT_EQ(kFunction, |
| + process_data_phase.tasks[1].birth.location.function_name); |
| EXPECT_EQ(kSecondFakeLineNumber, |
| - process_data.tasks[1].birth.location.line_number); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[1].birth.thread_name); |
| - EXPECT_EQ(1, process_data.tasks[1].death_data.count); |
| - EXPECT_EQ(0, process_data.tasks[1].death_data.run_duration_sum); |
| - EXPECT_EQ(0, process_data.tasks[1].death_data.run_duration_max); |
| - EXPECT_EQ(0, process_data.tasks[1].death_data.run_duration_sample); |
| - EXPECT_EQ(0, process_data.tasks[1].death_data.queue_duration_sum); |
| - EXPECT_EQ(0, process_data.tasks[1].death_data.queue_duration_max); |
| - EXPECT_EQ(0, process_data.tasks[1].death_data.queue_duration_sample); |
| - EXPECT_EQ(kStillAlive, process_data.tasks[1].death_thread_name); |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + process_data_phase.tasks[1].birth.location.line_number); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[1].birth.thread_name); |
| + EXPECT_EQ(1, process_data_phase.tasks[1].death_data.count); |
| + EXPECT_EQ(0, process_data_phase.tasks[1].death_data.run_duration_sum); |
| + EXPECT_EQ(0, process_data_phase.tasks[1].death_data.run_duration_max); |
| + EXPECT_EQ(0, process_data_phase.tasks[1].death_data.run_duration_sample); |
| + EXPECT_EQ(0, process_data_phase.tasks[1].death_data.queue_duration_sum); |
| + EXPECT_EQ(0, process_data_phase.tasks[1].death_data.queue_duration_max); |
| + EXPECT_EQ(0, process_data_phase.tasks[1].death_data.queue_duration_sample); |
| + EXPECT_EQ(kStillAlive, process_data_phase.tasks[1].death_thread_name); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id); |
| } |
| @@ -719,38 +773,49 @@ TEST_F(TrackedObjectsTest, TaskWithNestedExclusionWithNestedTask) { |
| ProcessDataSnapshot process_data; |
| ThreadData::Snapshot(&process_data); |
| + ASSERT_EQ(1, process_data.phased_process_data_snapshots.size()); |
| + const PhasedProcessDataSnapshotMap::const_iterator it = |
| + process_data.phased_process_data_snapshots.find(0); |
| + ASSERT_TRUE(it != process_data.phased_process_data_snapshots.end()); |
| + const ProcessDataPhaseSnapshot& process_data_phase = it->second; |
| + |
| // The order in which the two task follow is platform-dependent. |
| - int t0 = (process_data.tasks[0].birth.location.line_number == kLineNumber) ? |
| - 0 : 1; |
| + int t0 = |
| + (process_data_phase.tasks[0].birth.location.line_number == kLineNumber) |
| + ? 0 |
| + : 1; |
| int t1 = 1 - t0; |
| - ASSERT_EQ(2u, process_data.tasks.size()); |
| - EXPECT_EQ(kFile, process_data.tasks[t0].birth.location.file_name); |
| - EXPECT_EQ(kFunction, process_data.tasks[t0].birth.location.function_name); |
| - EXPECT_EQ(kLineNumber, process_data.tasks[t0].birth.location.line_number); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[t0].birth.thread_name); |
| - EXPECT_EQ(1, process_data.tasks[t0].death_data.count); |
| - EXPECT_EQ(6, process_data.tasks[t0].death_data.run_duration_sum); |
| - EXPECT_EQ(6, process_data.tasks[t0].death_data.run_duration_max); |
| - EXPECT_EQ(6, process_data.tasks[t0].death_data.run_duration_sample); |
| - EXPECT_EQ(4, process_data.tasks[t0].death_data.queue_duration_sum); |
| - EXPECT_EQ(4, process_data.tasks[t0].death_data.queue_duration_max); |
| - EXPECT_EQ(4, process_data.tasks[t0].death_data.queue_duration_sample); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[t0].death_thread_name); |
| - EXPECT_EQ(kFile, process_data.tasks[t1].birth.location.file_name); |
| - EXPECT_EQ(kFunction, process_data.tasks[t1].birth.location.function_name); |
| + ASSERT_EQ(2u, process_data_phase.tasks.size()); |
| + EXPECT_EQ(kFile, process_data_phase.tasks[t0].birth.location.file_name); |
| + EXPECT_EQ(kFunction, |
| + process_data_phase.tasks[t0].birth.location.function_name); |
| + EXPECT_EQ(kLineNumber, |
| + process_data_phase.tasks[t0].birth.location.line_number); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[t0].birth.thread_name); |
| + EXPECT_EQ(1, process_data_phase.tasks[t0].death_data.count); |
| + EXPECT_EQ(6, process_data_phase.tasks[t0].death_data.run_duration_sum); |
| + EXPECT_EQ(6, process_data_phase.tasks[t0].death_data.run_duration_max); |
| + EXPECT_EQ(6, process_data_phase.tasks[t0].death_data.run_duration_sample); |
| + EXPECT_EQ(4, process_data_phase.tasks[t0].death_data.queue_duration_sum); |
| + EXPECT_EQ(4, process_data_phase.tasks[t0].death_data.queue_duration_max); |
| + EXPECT_EQ(4, process_data_phase.tasks[t0].death_data.queue_duration_sample); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[t0].death_thread_name); |
| + EXPECT_EQ(kFile, process_data_phase.tasks[t1].birth.location.file_name); |
| + EXPECT_EQ(kFunction, |
| + process_data_phase.tasks[t1].birth.location.function_name); |
| EXPECT_EQ(kSecondFakeLineNumber, |
| - process_data.tasks[t1].birth.location.line_number); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[t1].birth.thread_name); |
| - EXPECT_EQ(1, process_data.tasks[t1].death_data.count); |
| - EXPECT_EQ(2, process_data.tasks[t1].death_data.run_duration_sum); |
| - EXPECT_EQ(2, process_data.tasks[t1].death_data.run_duration_max); |
| - EXPECT_EQ(2, process_data.tasks[t1].death_data.run_duration_sample); |
| - EXPECT_EQ(1, process_data.tasks[t1].death_data.queue_duration_sum); |
| - EXPECT_EQ(1, process_data.tasks[t1].death_data.queue_duration_max); |
| - EXPECT_EQ(1, process_data.tasks[t1].death_data.queue_duration_sample); |
| - EXPECT_EQ(kMainThreadName, process_data.tasks[t1].death_thread_name); |
| - EXPECT_EQ(0u, process_data.descendants.size()); |
| + process_data_phase.tasks[t1].birth.location.line_number); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[t1].birth.thread_name); |
| + EXPECT_EQ(1, process_data_phase.tasks[t1].death_data.count); |
| + EXPECT_EQ(2, process_data_phase.tasks[t1].death_data.run_duration_sum); |
| + EXPECT_EQ(2, process_data_phase.tasks[t1].death_data.run_duration_max); |
| + EXPECT_EQ(2, process_data_phase.tasks[t1].death_data.run_duration_sample); |
| + EXPECT_EQ(1, process_data_phase.tasks[t1].death_data.queue_duration_sum); |
| + EXPECT_EQ(1, process_data_phase.tasks[t1].death_data.queue_duration_max); |
| + EXPECT_EQ(1, process_data_phase.tasks[t1].death_data.queue_duration_sample); |
| + EXPECT_EQ(kMainThreadName, process_data_phase.tasks[t1].death_thread_name); |
| + EXPECT_EQ(0u, process_data_phase.descendants.size()); |
| EXPECT_EQ(base::GetCurrentProcId(), process_data.process_id); |
| } |