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

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

Issue 987193002: Redirect the MessageLoop's task runner to the renderer scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments + refactor all the things 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/scheduler_helper.h" 5 #include "components/scheduler/child/scheduler_helper.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/test/simple_test_tick_clock.h" 8 #include "base/test/simple_test_tick_clock.h"
9 #include "cc/test/ordered_simple_task_runner.h" 9 #include "cc/test/ordered_simple_task_runner.h"
10 #include "components/scheduler/child/nestable_task_runner_for_test.h" 10 #include "components/scheduler/child/scheduler_task_runner_delegate_for_test.h"
11 #include "components/scheduler/child/scheduler_message_loop_delegate.h"
12 #include "components/scheduler/child/test_time_source.h" 11 #include "components/scheduler/child/test_time_source.h"
13 #include "testing/gmock/include/gmock/gmock.h" 12 #include "testing/gmock/include/gmock/gmock.h"
14 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
15 14
16 using testing::_; 15 using testing::_;
17 using testing::AnyNumber; 16 using testing::AnyNumber;
18 using testing::Invoke; 17 using testing::Invoke;
19 using testing::Return; 18 using testing::Return;
20 19
21 namespace scheduler { 20 namespace scheduler {
(...skipping 17 matching lines...) Expand all
39 } 38 }
40 } 39 }
41 40
42 }; // namespace 41 }; // namespace
43 42
44 class SchedulerHelperTest : public testing::Test { 43 class SchedulerHelperTest : public testing::Test {
45 public: 44 public:
46 SchedulerHelperTest() 45 SchedulerHelperTest()
47 : clock_(new base::SimpleTestTickClock()), 46 : clock_(new base::SimpleTestTickClock()),
48 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), false)), 47 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), false)),
49 nestable_task_runner_( 48 main_task_runner_(
50 NestableTaskRunnerForTest::Create(mock_task_runner_)), 49 SchedulerTaskRunnerDelegateForTest::Create(mock_task_runner_)),
51 scheduler_helper_( 50 scheduler_helper_(
52 new SchedulerHelper(nestable_task_runner_, 51 new SchedulerHelper(main_task_runner_,
53 "test.scheduler", 52 "test.scheduler",
54 TRACE_DISABLED_BY_DEFAULT("test.scheduler"), 53 TRACE_DISABLED_BY_DEFAULT("test.scheduler"),
55 TRACE_DISABLED_BY_DEFAULT("test.scheduler.dbg"), 54 TRACE_DISABLED_BY_DEFAULT("test.scheduler.dbg"),
56 SchedulerHelper::TASK_QUEUE_COUNT)), 55 SchedulerHelper::TASK_QUEUE_COUNT)),
57 default_task_runner_(scheduler_helper_->DefaultTaskRunner()) { 56 default_task_runner_(scheduler_helper_->DefaultTaskRunner()) {
58 clock_->Advance(base::TimeDelta::FromMicroseconds(5000)); 57 clock_->Advance(base::TimeDelta::FromMicroseconds(5000));
59 scheduler_helper_->SetTimeSourceForTesting( 58 scheduler_helper_->SetTimeSourceForTesting(
60 make_scoped_ptr(new TestTimeSource(clock_.get()))); 59 make_scoped_ptr(new TestTimeSource(clock_.get())));
61 scheduler_helper_->GetTaskQueueManagerForTesting()->SetTimeSourceForTesting( 60 scheduler_helper_->GetTaskQueueManagerForTesting()->SetTimeSourceForTesting(
62 make_scoped_ptr(new TestTimeSource(clock_.get()))); 61 make_scoped_ptr(new TestTimeSource(clock_.get())));
(...skipping 23 matching lines...) Expand all
86 static void CheckAllTaskQueueIdToString() { 85 static void CheckAllTaskQueueIdToString() {
87 CallForEachEnumValue<SchedulerHelper::QueueId>( 86 CallForEachEnumValue<SchedulerHelper::QueueId>(
88 SchedulerHelper::FIRST_QUEUE_ID, SchedulerHelper::TASK_QUEUE_COUNT, 87 SchedulerHelper::FIRST_QUEUE_ID, SchedulerHelper::TASK_QUEUE_COUNT,
89 &SchedulerHelper::TaskQueueIdToString); 88 &SchedulerHelper::TaskQueueIdToString);
90 } 89 }
91 90
92 protected: 91 protected:
93 scoped_ptr<base::SimpleTestTickClock> clock_; 92 scoped_ptr<base::SimpleTestTickClock> clock_;
94 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_; 93 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_;
95 94
96 scoped_refptr<NestableSingleThreadTaskRunner> nestable_task_runner_; 95 scoped_refptr<SchedulerTaskRunnerDelegateForTest> main_task_runner_;
97 scoped_ptr<SchedulerHelper> scheduler_helper_; 96 scoped_ptr<SchedulerHelper> scheduler_helper_;
98 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_; 97 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_;
99 98
100 DISALLOW_COPY_AND_ASSIGN(SchedulerHelperTest); 99 DISALLOW_COPY_AND_ASSIGN(SchedulerHelperTest);
101 }; 100 };
102 101
103 TEST_F(SchedulerHelperTest, TestPostDefaultTask) { 102 TEST_F(SchedulerHelperTest, TestPostDefaultTask) {
104 std::vector<std::string> run_order; 103 std::vector<std::string> run_order;
105 default_task_runner_->PostTask( 104 default_task_runner_->PostTask(
106 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D1")); 105 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D1"));
(...skipping 25 matching lines...) Expand all
132 EXPECT_FALSE(scheduler_helper_->IsShutdown()); 131 EXPECT_FALSE(scheduler_helper_->IsShutdown());
133 132
134 scheduler_helper_->Shutdown(); 133 scheduler_helper_->Shutdown();
135 EXPECT_TRUE(scheduler_helper_->IsShutdown()); 134 EXPECT_TRUE(scheduler_helper_->IsShutdown());
136 } 135 }
137 136
138 TEST_F(SchedulerHelperTest, TaskQueueIdToString) { 137 TEST_F(SchedulerHelperTest, TaskQueueIdToString) {
139 CheckAllTaskQueueIdToString(); 138 CheckAllTaskQueueIdToString();
140 } 139 }
141 140
141 TEST_F(SchedulerHelperTest, DefaultTaskRunnerRegistration) {
142 EXPECT_EQ(main_task_runner_->default_task_runner(),
143 scheduler_helper_->DefaultTaskRunner());
144 }
145
142 } // namespace scheduler 146 } // namespace scheduler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698