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

Unified Diff: components/scheduler/child/scheduler_helper_unittest.cc

Issue 1058873010: Move blink scheduler implementation into a component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « components/scheduler/child/scheduler_helper.cc ('k') | components/scheduler/child/scheduler_message_loop_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698