Index: components/scheduler/child/scheduler_helper_unittest.cc |
diff --git a/content/child/scheduler/scheduler_helper_unittest.cc b/components/scheduler/child/scheduler_helper_unittest.cc |
similarity index 89% |
rename from content/child/scheduler/scheduler_helper_unittest.cc |
rename to components/scheduler/child/scheduler_helper_unittest.cc |
index d3e9bda3e669aa6fc4881e1ebb8dcd050ffa68ad..0418c0be3250d172d00ad2ab9234bf1f5312a79d 100644 |
--- a/content/child/scheduler/scheduler_helper_unittest.cc |
+++ b/components/scheduler/child/scheduler_helper_unittest.cc |
@@ -2,15 +2,15 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/child/scheduler/scheduler_helper.h" |
+#include "components/scheduler/child/scheduler_helper.h" |
#include "base/callback.h" |
#include "cc/test/ordered_simple_task_runner.h" |
#include "cc/test/test_now_source.h" |
-#include "content/child/scheduler/nestable_task_runner_for_test.h" |
-#include "content/child/scheduler/scheduler_message_loop_delegate.h" |
-#include "content/child/scheduler/task_queue_manager.h" |
-#include "content/test/test_time_source.h" |
+#include "components/scheduler/child/nestable_task_runner_for_test.h" |
+#include "components/scheduler/child/scheduler_message_loop_delegate.h" |
+#include "components/scheduler/child/task_queue_manager.h" |
+#include "components/scheduler/child/test_time_source.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -19,7 +19,7 @@ using testing::AnyNumber; |
using testing::Invoke; |
using testing::Return; |
-namespace content { |
+namespace scheduler { |
namespace { |
void AppendToVectorTestTask(std::vector<std::string>* vector, |
@@ -36,17 +36,16 @@ void AppendToVectorIdleTestTask(std::vector<std::string>* vector, |
void NullTask() { |
} |
-void AppendToVectorReentrantTask( |
- base::SingleThreadTaskRunner* task_runner, |
- std::vector<int>* vector, |
- int* reentrant_count, |
- int max_reentrant_count) { |
+void AppendToVectorReentrantTask(base::SingleThreadTaskRunner* task_runner, |
+ std::vector<int>* vector, |
+ int* reentrant_count, |
+ int max_reentrant_count) { |
vector->push_back((*reentrant_count)++); |
if (*reentrant_count < max_reentrant_count) { |
task_runner->PostTask( |
- FROM_HERE, base::Bind(AppendToVectorReentrantTask, |
- base::Unretained(task_runner), vector, |
- reentrant_count, max_reentrant_count)); |
+ FROM_HERE, |
+ base::Bind(AppendToVectorReentrantTask, base::Unretained(task_runner), |
+ vector, reentrant_count, max_reentrant_count)); |
} |
} |
@@ -62,15 +61,13 @@ void IdleTestTask(int* run_count, |
int max_idle_task_reposts = 2; |
-void RepostingIdleTestTask( |
- SingleThreadIdleTaskRunner* idle_task_runner, |
- int* run_count, |
- base::TimeTicks deadline) { |
+void RepostingIdleTestTask(SingleThreadIdleTaskRunner* idle_task_runner, |
+ int* run_count, |
+ base::TimeTicks deadline) { |
if ((*run_count + 1) < max_idle_task_reposts) { |
idle_task_runner->PostIdleTask( |
- FROM_HERE, |
- base::Bind(&RepostingIdleTestTask, |
- base::Unretained(idle_task_runner), run_count)); |
+ FROM_HERE, base::Bind(&RepostingIdleTestTask, |
+ base::Unretained(idle_task_runner), run_count)); |
} |
(*run_count)++; |
} |
@@ -284,10 +281,8 @@ TEST_F(SchedulerHelperTest, TestPostIdleTask) { |
EXPECT_EQ(0, run_count); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- expected_deadline, |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ expected_deadline, true); |
RunUntilIdle(); |
EXPECT_EQ(1, run_count); |
EXPECT_EQ(expected_deadline, deadline_in_task); |
@@ -305,10 +300,8 @@ TEST_F(SchedulerHelperTest, TestPostIdleTask_EndIdlePeriod) { |
EXPECT_EQ(0, run_count); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
scheduler_helper_->EndIdlePeriod(); |
RunUntilIdle(); |
EXPECT_EQ(0, run_count); |
@@ -322,10 +315,8 @@ TEST_F(SchedulerHelperTest, TestRepostingIdleTask) { |
FROM_HERE, |
base::Bind(&RepostingIdleTestTask, idle_task_runner_, &run_count)); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
EXPECT_EQ(1, run_count); |
@@ -334,10 +325,8 @@ TEST_F(SchedulerHelperTest, TestRepostingIdleTask) { |
EXPECT_EQ(1, run_count); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
EXPECT_EQ(2, run_count); |
} |
@@ -354,20 +343,16 @@ TEST_F(SchedulerHelperTest, TestIdleTaskExceedsDeadline) { |
default_task_runner_, &run_count)); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Only the first idle task should execute since it's used up the deadline. |
EXPECT_EQ(1, run_count); |
scheduler_helper_->EndIdlePeriod(); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Second task should be run on the next idle period. |
EXPECT_EQ(2, run_count); |
@@ -381,10 +366,8 @@ TEST_F(SchedulerHelperTest, TestPostIdleTaskAfterWakeup) { |
FROM_HERE, base::Bind(&IdleTestTask, &run_count, &deadline_in_task)); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Shouldn't run yet as no other task woke up the scheduler. |
EXPECT_EQ(0, run_count); |
@@ -393,10 +376,8 @@ TEST_F(SchedulerHelperTest, TestPostIdleTaskAfterWakeup) { |
FROM_HERE, base::Bind(&IdleTestTask, &run_count, &deadline_in_task)); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Another after wakeup idle task shouldn't wake the scheduler. |
EXPECT_EQ(0, run_count); |
@@ -406,10 +387,8 @@ TEST_F(SchedulerHelperTest, TestPostIdleTaskAfterWakeup) { |
RunUntilIdle(); |
// Must start a new idle period before idle task runs. |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Execution of default task queue task should trigger execution of idle task. |
EXPECT_EQ(2, run_count); |
@@ -426,10 +405,8 @@ TEST_F(SchedulerHelperTest, TestPostIdleTaskAfterWakeupWhileAwake) { |
RunUntilIdle(); |
// Must start a new idle period before idle task runs. |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Should run as the scheduler was already awakened by the normal task. |
EXPECT_EQ(1, run_count); |
@@ -445,17 +422,13 @@ TEST_F(SchedulerHelperTest, TestPostIdleTaskWakesAfterWakeupIdleTask) { |
FROM_HERE, base::Bind(&IdleTestTask, &run_count, &deadline_in_task)); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Must start a new idle period before after-wakeup idle task runs. |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Normal idle task should wake up after-wakeup idle task. |
EXPECT_EQ(2, run_count); |
@@ -527,10 +500,8 @@ class SchedulerHelperWithMessageLoopTest : public BaseSchedulerHelperTest { |
} |
} |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
message_loop_->RunUntilIdle(); |
} |
@@ -565,10 +536,8 @@ TEST_F(SchedulerHelperWithMessageLoopTest, |
base::Unretained(&tasks_to_post_from_nested_loop))); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
// Note we expect task 3 to run last because it's non-nestable. |
EXPECT_THAT(order, testing::ElementsAre(std::string("1"), std::string("2"), |
@@ -727,14 +696,14 @@ TEST_F(SchedulerHelperTest, TestLongIdlePeriodWhenNotCanEnterLongIdlePeriod) { |
int run_count = 0; |
ON_CALL(*scheduler_helper_, CanEnterLongIdlePeriod(_, _)) |
- .WillByDefault(Invoke([delay, delayOver]( |
- base::TimeTicks now, |
- base::TimeDelta* next_long_idle_period_delay_out) { |
- if (now >= delayOver) |
- return true; |
- *next_long_idle_period_delay_out = delay; |
- return false; |
- })); |
+ .WillByDefault(Invoke( |
+ [delay, delayOver](base::TimeTicks now, |
+ base::TimeDelta* next_long_idle_period_delay_out) { |
+ if (now >= delayOver) |
+ return true; |
+ *next_long_idle_period_delay_out = delay; |
+ return false; |
+ })); |
EXPECT_CALL(*scheduler_helper_, CanEnterLongIdlePeriod(_, _)).Times(3); |
@@ -781,10 +750,8 @@ TEST_F(SchedulerHelperTest, CanExceedIdleDeadlineIfRequired) { |
scheduler_helper_.get(), &can_exceed_idle_deadline, |
&run_count)); |
scheduler_helper_->StartIdlePeriod( |
- SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, |
- clock_->Now(), |
- clock_->Now() + base::TimeDelta::FromMilliseconds(10), |
- true); |
+ SchedulerHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->Now(), |
+ clock_->Now() + base::TimeDelta::FromMilliseconds(10), true); |
RunUntilIdle(); |
EXPECT_EQ(1, run_count); |
EXPECT_FALSE(can_exceed_idle_deadline); |
@@ -945,4 +912,4 @@ TEST_F(SchedulerHelperWithQuiescencePeriodTest, |
EXPECT_EQ(expected_deadline, deadline_in_task); |
} |
-} // namespace content |
+} // namespace scheduler |