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

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

Issue 1238483003: Revert of Redirect the MessageLoop's task runner to the renderer scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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/worker_scheduler_impl.h" 5 #include "components/scheduler/child/worker_scheduler_impl.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/test/simple_test_tick_clock.h" 9 #include "base/test/simple_test_tick_clock.h"
10 #include "cc/test/ordered_simple_task_runner.h" 10 #include "cc/test/ordered_simple_task_runner.h"
11 #include "components/scheduler/child/scheduler_task_runner_delegate_for_test.h" 11 #include "components/scheduler/child/nestable_task_runner_for_test.h"
12 #include "components/scheduler/child/scheduler_message_loop_delegate.h"
12 #include "components/scheduler/child/test_time_source.h" 13 #include "components/scheduler/child/test_time_source.h"
13 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 16
16 using testing::ElementsAreArray; 17 using testing::ElementsAreArray;
17 18
18 namespace scheduler { 19 namespace scheduler {
19 20
20 namespace { 21 namespace {
21 void NopTask() { 22 void NopTask() {
(...skipping 24 matching lines...) Expand all
46 base::TimeTicks deadline) { 47 base::TimeTicks deadline) {
47 timeline->push_back(base::StringPrintf("run TimelineIdleTestTask deadline %d", 48 timeline->push_back(base::StringPrintf("run TimelineIdleTestTask deadline %d",
48 TimeTicksToIntMs(deadline))); 49 TimeTicksToIntMs(deadline)));
49 } 50 }
50 51
51 }; // namespace 52 }; // namespace
52 53
53 class WorkerSchedulerImplForTest : public WorkerSchedulerImpl { 54 class WorkerSchedulerImplForTest : public WorkerSchedulerImpl {
54 public: 55 public:
55 WorkerSchedulerImplForTest( 56 WorkerSchedulerImplForTest(
56 scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner, 57 scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner,
57 base::SimpleTestTickClock* clock_) 58 base::SimpleTestTickClock* clock_)
58 : WorkerSchedulerImpl(main_task_runner), 59 : WorkerSchedulerImpl(main_task_runner),
59 clock_(clock_), 60 clock_(clock_),
60 timeline_(nullptr) {} 61 timeline_(nullptr) {}
61 62
62 void RecordTimelineEvents(std::vector<std::string>* timeline) { 63 void RecordTimelineEvents(std::vector<std::string>* timeline) {
63 timeline_ = timeline; 64 timeline_ = timeline;
64 } 65 }
65 66
66 private: 67 private:
(...skipping 18 matching lines...) Expand all
85 86
86 base::SimpleTestTickClock* clock_; // NOT OWNED 87 base::SimpleTestTickClock* clock_; // NOT OWNED
87 std::vector<std::string>* timeline_; // NOT OWNED 88 std::vector<std::string>* timeline_; // NOT OWNED
88 }; 89 };
89 90
90 class WorkerSchedulerImplTest : public testing::Test { 91 class WorkerSchedulerImplTest : public testing::Test {
91 public: 92 public:
92 WorkerSchedulerImplTest() 93 WorkerSchedulerImplTest()
93 : clock_(new base::SimpleTestTickClock()), 94 : clock_(new base::SimpleTestTickClock()),
94 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), true)), 95 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), true)),
95 main_task_runner_( 96 nestable_task_runner_(
96 SchedulerTaskRunnerDelegateForTest::Create(mock_task_runner_)), 97 NestableTaskRunnerForTest::Create(mock_task_runner_)),
97 scheduler_( 98 scheduler_(new WorkerSchedulerImplForTest(nestable_task_runner_,
98 new WorkerSchedulerImplForTest(main_task_runner_, clock_.get())), 99 clock_.get())),
99 timeline_(nullptr) { 100 timeline_(nullptr) {
100 clock_->Advance(base::TimeDelta::FromMicroseconds(5000)); 101 clock_->Advance(base::TimeDelta::FromMicroseconds(5000));
101 scheduler_->GetSchedulerHelperForTesting()->SetTimeSourceForTesting( 102 scheduler_->GetSchedulerHelperForTesting()->SetTimeSourceForTesting(
102 make_scoped_ptr(new TestTimeSource(clock_.get()))); 103 make_scoped_ptr(new TestTimeSource(clock_.get())));
103 scheduler_->GetSchedulerHelperForTesting() 104 scheduler_->GetSchedulerHelperForTesting()
104 ->GetTaskQueueManagerForTesting() 105 ->GetTaskQueueManagerForTesting()
105 ->SetTimeSourceForTesting( 106 ->SetTimeSourceForTesting(
106 make_scoped_ptr(new TestTimeSource(clock_.get()))); 107 make_scoped_ptr(new TestTimeSource(clock_.get())));
107 } 108 }
108 109
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 static base::TimeDelta maximum_idle_period_duration() { 169 static base::TimeDelta maximum_idle_period_duration() {
169 return base::TimeDelta::FromMilliseconds( 170 return base::TimeDelta::FromMilliseconds(
170 IdleHelper::kMaximumIdlePeriodMillis); 171 IdleHelper::kMaximumIdlePeriodMillis);
171 } 172 }
172 173
173 protected: 174 protected:
174 scoped_ptr<base::SimpleTestTickClock> clock_; 175 scoped_ptr<base::SimpleTestTickClock> clock_;
175 // Only one of mock_task_runner_ or message_loop_ will be set. 176 // Only one of mock_task_runner_ or message_loop_ will be set.
176 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_; 177 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_;
177 178
178 scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner_; 179 scoped_refptr<NestableSingleThreadTaskRunner> nestable_task_runner_;
179 scoped_ptr<WorkerSchedulerImplForTest> scheduler_; 180 scoped_ptr<WorkerSchedulerImplForTest> scheduler_;
180 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_; 181 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_;
181 scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_; 182 scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_;
182 std::vector<std::string>* timeline_; // NOT OWNED 183 std::vector<std::string>* timeline_; // NOT OWNED
183 184
184 DISALLOW_COPY_AND_ASSIGN(WorkerSchedulerImplTest); 185 DISALLOW_COPY_AND_ASSIGN(WorkerSchedulerImplTest);
185 }; 186 };
186 187
187 TEST_F(WorkerSchedulerImplTest, TestPostDefaultTask) { 188 TEST_F(WorkerSchedulerImplTest, TestPostDefaultTask) {
188 Init(); 189 Init();
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 "run RecordTimelineTask @ 55", 380 "run RecordTimelineTask @ 55",
380 "IsNotQuiescent @ 55", // NOTE we have to wait for quiescence. 381 "IsNotQuiescent @ 55", // NOTE we have to wait for quiescence.
381 "CanEnterLongIdlePeriod @ 355", 382 "CanEnterLongIdlePeriod @ 355",
382 "run TimelineIdleTestTask deadline 405", 383 "run TimelineIdleTestTask deadline 405",
383 "RunUntilIdle end @ 355"}; 384 "RunUntilIdle end @ 355"};
384 385
385 EXPECT_THAT(timeline, ElementsAreArray(expected_timeline)); 386 EXPECT_THAT(timeline, ElementsAreArray(expected_timeline));
386 } 387 }
387 388
388 } // namespace scheduler 389 } // namespace scheduler
OLDNEW
« no previous file with comments | « components/scheduler/child/worker_scheduler_impl.cc ('k') | components/scheduler/renderer/renderer_scheduler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698