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

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

Issue 1132753008: Replaced TestNowSource with SimpleTestTickClock. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 5 years, 6 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/task_queue_manager_unittest.cc
diff --git a/components/scheduler/child/task_queue_manager_unittest.cc b/components/scheduler/child/task_queue_manager_unittest.cc
index 6942304859513e44548ee670ba42b375333bb39b..07f7e3081abf4cff2502be9f8561aa0a96646b30 100644
--- a/components/scheduler/child/task_queue_manager_unittest.cc
+++ b/components/scheduler/child/task_queue_manager_unittest.cc
@@ -6,13 +6,14 @@
#include "base/location.h"
#include "base/single_thread_task_runner.h"
+#include "base/test/simple_test_tick_clock.h"
#include "base/threading/thread.h"
#include "cc/test/ordered_simple_task_runner.h"
-#include "cc/test/test_now_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_selector.h"
#include "components/scheduler/child/test_time_source.h"
+#include "components/scheduler/test/test_always_fail_time_source.h"
#include "testing/gmock/include/gmock/gmock.h"
using testing::ElementsAre;
@@ -117,15 +118,16 @@ class TaskQueueManagerTest : public testing::Test {
};
void Initialize(size_t num_queues, SelectorType type) {
- now_src_ = cc::TestNowSource::Create(1000);
- test_task_runner_ =
- make_scoped_refptr(new cc::OrderedSimpleTaskRunner(now_src_, false));
+ now_src_.reset(new base::SimpleTestTickClock());
+ now_src_->Advance(base::TimeDelta::FromMicroseconds(1000));
+ test_task_runner_ = make_scoped_refptr(
+ new cc::OrderedSimpleTaskRunner(now_src_.get(), false));
selector_ = make_scoped_ptr(createSelectorForTest(type));
manager_ = make_scoped_ptr(new TaskQueueManager(
num_queues, NestableTaskRunnerForTest::Create(test_task_runner_.get()),
selector_.get(), "test.scheduler"));
manager_->SetTimeSourceForTesting(
- make_scoped_ptr(new TestTimeSource(now_src_)));
+ make_scoped_ptr(new TestTimeSource(now_src_.get())));
EXPECT_EQ(num_queues, selector_->work_queues().size());
}
@@ -175,7 +177,7 @@ class TaskQueueManagerTest : public testing::Test {
&TaskQueueManager::WakeupPolicyToString);
}
- scoped_refptr<cc::TestNowSource> now_src_;
+ scoped_ptr<base::SimpleTestTickClock> now_src_;
scoped_refptr<cc::OrderedSimpleTaskRunner> test_task_runner_;
scoped_ptr<SelectorForTest> selector_;
scoped_ptr<TaskQueueManager> manager_;
@@ -251,9 +253,8 @@ void NopTask() {
TEST_F(TaskQueueManagerTest, NowNotCalledWhenThereAreNoDelayedTasks) {
Initialize(3u, SelectorType::Explicit);
- scoped_refptr<cc::TestNowSource> now_src = cc::TestNowSource::Create(1000);
manager_->SetTimeSourceForTesting(
- make_scoped_ptr(new TestTimeSource(now_src)));
+ make_scoped_ptr(new TestAlwaysFailTimeSource()));
scoped_refptr<base::SingleThreadTaskRunner> runners[3] = {
manager_->TaskRunnerForQueue(0),
@@ -275,8 +276,6 @@ TEST_F(TaskQueueManagerTest, NowNotCalledWhenThereAreNoDelayedTasks) {
runners[2]->PostTask(FROM_HERE, base::Bind(&NopTask));
test_task_runner_->RunUntilIdle();
-
- EXPECT_EQ(0, now_src->NumNowCalls());
}
TEST_F(TaskQueueManagerTest, NonNestableTaskPosting) {
@@ -572,7 +571,7 @@ TEST_F(TaskQueueManagerTest, ManualPumpingWithDelayedTask) {
EXPECT_TRUE(run_order.empty());
// Once the delay has expired, pumping causes the task to run.
- now_src_->AdvanceNow(base::TimeDelta::FromMilliseconds(5));
+ now_src_->Advance(base::TimeDelta::FromMilliseconds(5));
manager_->PumpQueue(0);
EXPECT_TRUE(test_task_runner_->HasPendingTasks());
test_task_runner_->RunPendingTasks();
@@ -599,7 +598,7 @@ TEST_F(TaskQueueManagerTest, ManualPumpingWithMultipleDelayedTasks) {
runner->PostDelayedTask(FROM_HERE, base::Bind(&TestTask, 3, &run_order),
delay3);
- now_src_->AdvanceNow(base::TimeDelta::FromMilliseconds(15));
+ now_src_->Advance(base::TimeDelta::FromMilliseconds(15));
test_task_runner_->RunUntilIdle();
EXPECT_TRUE(run_order.empty());
@@ -1044,9 +1043,11 @@ TEST_F(TaskQueueManagerTest, ThreadCheckAfterTermination) {
}
TEST_F(TaskQueueManagerTest, NextPendingDelayedTaskRunTime) {
- scoped_refptr<cc::TestNowSource> clock(cc::TestNowSource::Create());
+ scoped_ptr<base::SimpleTestTickClock> clock(new base::SimpleTestTickClock());
+ clock->Advance(base::TimeDelta::FromMicroseconds(10000));
Initialize(2u, SelectorType::Explicit);
- manager_->SetTimeSourceForTesting(make_scoped_ptr(new TestTimeSource(clock)));
+ manager_->SetTimeSourceForTesting(
+ make_scoped_ptr(new TestTimeSource(clock.get())));
scoped_refptr<base::SingleThreadTaskRunner> runners[2] = {
manager_->TaskRunnerForQueue(0), manager_->TaskRunnerForQueue(1)};
@@ -1061,30 +1062,30 @@ TEST_F(TaskQueueManagerTest, NextPendingDelayedTaskRunTime) {
// With a delayed task.
base::TimeDelta expected_delay = base::TimeDelta::FromMilliseconds(50);
runners[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), expected_delay);
- EXPECT_EQ(clock->Now() + expected_delay,
+ EXPECT_EQ(clock->NowTicks() + expected_delay,
manager_->NextPendingDelayedTaskRunTime());
// With another delayed task in the same queue with a longer delay.
runners[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask),
base::TimeDelta::FromMilliseconds(100));
- EXPECT_EQ(clock->Now() + expected_delay,
+ EXPECT_EQ(clock->NowTicks() + expected_delay,
manager_->NextPendingDelayedTaskRunTime());
// With another delayed task in the same queue with a shorter delay.
expected_delay = base::TimeDelta::FromMilliseconds(20);
runners[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), expected_delay);
- EXPECT_EQ(clock->Now() + expected_delay,
+ EXPECT_EQ(clock->NowTicks() + expected_delay,
manager_->NextPendingDelayedTaskRunTime());
// With another delayed task in a different queue with a shorter delay.
expected_delay = base::TimeDelta::FromMilliseconds(10);
runners[1]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), expected_delay);
- EXPECT_EQ(clock->Now() + expected_delay,
+ EXPECT_EQ(clock->NowTicks() + expected_delay,
manager_->NextPendingDelayedTaskRunTime());
// Test it updates as time progresses
- clock->AdvanceNow(expected_delay);
- EXPECT_EQ(clock->Now(), manager_->NextPendingDelayedTaskRunTime());
+ clock->Advance(expected_delay);
+ EXPECT_EQ(clock->NowTicks(), manager_->NextPendingDelayedTaskRunTime());
}
TEST_F(TaskQueueManagerTest, NextPendingDelayedTaskRunTime_MultipleQueues) {
@@ -1102,7 +1103,7 @@ TEST_F(TaskQueueManagerTest, NextPendingDelayedTaskRunTime_MultipleQueues) {
runners[1]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), delay2);
runners[2]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), delay3);
- EXPECT_EQ(now_src_->Now() + delay2,
+ EXPECT_EQ(now_src_->NowTicks() + delay2,
manager_->NextPendingDelayedTaskRunTime());
}
« no previous file with comments | « components/scheduler/child/scheduler_helper_unittest.cc ('k') | components/scheduler/child/test_time_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698