| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "components/scheduler/base/long_task_tracker.h" | |
| 6 #include "testing/gtest/include/gtest/gtest.h" | |
| 7 | |
| 8 namespace scheduler { | |
| 9 | |
| 10 class LongTaskTrackerTest : public ::testing::Test { | |
| 11 protected: | |
| 12 LongTaskTracker long_task_tracker_; | |
| 13 | |
| 14 size_t NumLongTasks() { | |
| 15 return long_task_tracker_.long_task_times_.size(); | |
| 16 } | |
| 17 }; | |
| 18 | |
| 19 TEST_F(LongTaskTrackerTest, RecordAndReport) { | |
| 20 EXPECT_EQ(0U, NumLongTasks()); | |
| 21 | |
| 22 // Add long tasks above 50ms threshold | |
| 23 long_task_tracker_.RecordLongTask( | |
| 24 base::TimeTicks() + base::TimeDelta::FromMilliseconds(4500), | |
| 25 base::TimeDelta::FromMilliseconds(51)); | |
| 26 EXPECT_EQ(1U, NumLongTasks()); | |
| 27 | |
| 28 long_task_tracker_.RecordLongTask( | |
| 29 base::TimeTicks() + base::TimeDelta::FromMilliseconds(5500), | |
| 30 base::TimeDelta::FromMilliseconds(75)); | |
| 31 EXPECT_EQ(2U, NumLongTasks()); | |
| 32 | |
| 33 // Add task below 50ms threshold | |
| 34 long_task_tracker_.RecordLongTask( | |
| 35 base::TimeTicks() + base::TimeDelta::FromMilliseconds(6500), | |
| 36 base::TimeDelta::FromMilliseconds(49)); | |
| 37 EXPECT_EQ(2U, NumLongTasks()); | |
| 38 | |
| 39 LongTaskTracker::LongTaskTiming long_task_times = | |
| 40 long_task_tracker_.GetLongTaskTiming(); | |
| 41 // GetLongTaskTiming clears the internal vector | |
| 42 EXPECT_EQ(0U, NumLongTasks()); | |
| 43 // Validate recorded contents | |
| 44 EXPECT_EQ(2U, long_task_times.size()); | |
| 45 EXPECT_EQ(base::TimeTicks() + base::TimeDelta::FromMilliseconds(4500), | |
| 46 long_task_times[0].first); | |
| 47 EXPECT_EQ(51, long_task_times[0].second.InMilliseconds()); | |
| 48 EXPECT_EQ(base::TimeTicks() + base::TimeDelta::FromMilliseconds(5500), | |
| 49 long_task_times[1].first); | |
| 50 EXPECT_EQ(75, long_task_times[1].second.InMilliseconds()); | |
| 51 } | |
| 52 | |
| 53 } | |
| OLD | NEW |