Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Side by Side Diff: components/scheduler/child/idle_helper_unittest.cc

Issue 1178423008: Provision to start base::SimpleTestTickClock at initial ticks Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « components/scheduler/base/time_domain_unittest.cc ('k') | components/scheduler/child/scheduler_helper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698