OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/scheduler/child/idle_helper.h" | 5 #include "components/scheduler/child/idle_helper.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 MOCK_METHOD0(IsNotQuiescent, void()); | 166 MOCK_METHOD0(IsNotQuiescent, void()); |
167 MOCK_METHOD0(OnIdlePeriodStarted, void()); | 167 MOCK_METHOD0(OnIdlePeriodStarted, void()); |
168 MOCK_METHOD0(OnIdlePeriodEnded, void()); | 168 MOCK_METHOD0(OnIdlePeriodEnded, void()); |
169 }; | 169 }; |
170 | 170 |
171 class BaseIdleHelperTest : public testing::Test { | 171 class BaseIdleHelperTest : public testing::Test { |
172 public: | 172 public: |
173 BaseIdleHelperTest( | 173 BaseIdleHelperTest( |
174 base::MessageLoop* message_loop, | 174 base::MessageLoop* message_loop, |
175 base::TimeDelta required_quiescence_duration_before_long_idle_period) | 175 base::TimeDelta required_quiescence_duration_before_long_idle_period) |
176 : clock_(new base::SimpleTestTickClock()), | 176 : clock_(new base::SimpleTestTickClock( |
| 177 base::TimeTicks() + base::TimeDelta::FromMicroseconds(1))), |
177 mock_task_runner_( | 178 mock_task_runner_( |
178 message_loop | 179 message_loop |
179 ? nullptr | 180 ? nullptr |
180 : new cc::OrderedSimpleTaskRunner(clock_.get(), false)), | 181 : new cc::OrderedSimpleTaskRunner(clock_.get(), false)), |
181 message_loop_(message_loop), | 182 message_loop_(message_loop), |
182 main_task_runner_(CreateTaskRunnerDelegate( | 183 main_task_runner_(CreateTaskRunnerDelegate( |
183 message_loop, | 184 message_loop, |
184 mock_task_runner_, | 185 mock_task_runner_, |
185 make_scoped_ptr(new TestTimeSource(clock_.get())))), | 186 make_scoped_ptr(new TestTimeSource(clock_.get())))), |
186 scheduler_helper_( | 187 scheduler_helper_( |
187 new SchedulerHelper(main_task_runner_, | 188 new SchedulerHelper(main_task_runner_, |
188 "test.idle", | 189 "test.idle", |
189 TRACE_DISABLED_BY_DEFAULT("test.idle"), | 190 TRACE_DISABLED_BY_DEFAULT("test.idle"), |
190 TRACE_DISABLED_BY_DEFAULT("test.idle.debug"))), | 191 TRACE_DISABLED_BY_DEFAULT("test.idle.debug"))), |
191 idle_helper_(new IdleHelperForTest( | 192 idle_helper_(new IdleHelperForTest( |
192 scheduler_helper_.get(), | 193 scheduler_helper_.get(), |
193 required_quiescence_duration_before_long_idle_period)), | 194 required_quiescence_duration_before_long_idle_period)), |
194 default_task_runner_(scheduler_helper_->DefaultTaskRunner()), | 195 default_task_runner_(scheduler_helper_->DefaultTaskRunner()), |
195 idle_task_runner_(idle_helper_->IdleTaskRunner()) { | 196 idle_task_runner_(idle_helper_->IdleTaskRunner()) {} |
196 clock_->Advance(base::TimeDelta::FromMicroseconds(5000)); | |
197 } | |
198 | 197 |
199 ~BaseIdleHelperTest() override {} | 198 ~BaseIdleHelperTest() override {} |
200 | 199 |
201 void SetUp() override { | 200 void SetUp() override { |
202 EXPECT_CALL(*idle_helper_, OnIdlePeriodStarted()).Times(AnyNumber()); | 201 EXPECT_CALL(*idle_helper_, OnIdlePeriodStarted()).Times(AnyNumber()); |
203 EXPECT_CALL(*idle_helper_, OnIdlePeriodEnded()).Times(AnyNumber()); | 202 EXPECT_CALL(*idle_helper_, OnIdlePeriodEnded()).Times(AnyNumber()); |
204 EXPECT_CALL(*idle_helper_, CanEnterLongIdlePeriod(_, _)) | 203 EXPECT_CALL(*idle_helper_, CanEnterLongIdlePeriod(_, _)) |
205 .Times(AnyNumber()) | 204 .Times(AnyNumber()) |
206 .WillRepeatedly(Return(true)); | 205 .WillRepeatedly(Return(true)); |
207 } | 206 } |
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1141 EXPECT_EQ(0, run_count); | 1140 EXPECT_EQ(0, run_count); |
1142 | 1141 |
1143 default_task_runner_->PostDelayedTask(FROM_HERE, base::Bind(&NullTask), | 1142 default_task_runner_->PostDelayedTask(FROM_HERE, base::Bind(&NullTask), |
1144 more_than_min_deadline_duration); | 1143 more_than_min_deadline_duration); |
1145 idle_helper_->EnableLongIdlePeriod(); | 1144 idle_helper_->EnableLongIdlePeriod(); |
1146 RunUntilIdle(); | 1145 RunUntilIdle(); |
1147 EXPECT_EQ(1, run_count); | 1146 EXPECT_EQ(1, run_count); |
1148 } | 1147 } |
1149 | 1148 |
1150 } // namespace scheduler | 1149 } // namespace scheduler |
OLD | NEW |