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

Unified Diff: cc/scheduler/scheduler_unittest.cc

Issue 1132753008: Replaced TestNowSource with SimpleTestTickClock. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorporated review comments: scoped leaking clocks, refactored num_now_calls_ functionality Created 5 years, 7 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: cc/scheduler/scheduler_unittest.cc
diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc
index eaa013861fb9263ed3d4b96fa383bb5a64b0547b..73aaccf5f7a8679844d1c80ffa1e4030f35c3abe 100644
--- a/cc/scheduler/scheduler_unittest.cc
+++ b/cc/scheduler/scheduler_unittest.cc
@@ -253,11 +253,13 @@ class FakeExternalBeginFrameSource : public BeginFrameSourceMixIn {
class SchedulerTest : public testing::Test {
public:
SchedulerTest()
- : now_src_(TestNowSource::Create()),
- task_runner_(new OrderedSimpleTaskRunner(now_src_, true)),
+ : now_src_(new base::SimpleTestTickClock()),
fake_external_begin_frame_source_(nullptr) {
- // A bunch of tests require Now() to be > BeginFrameArgs::DefaultInterval()
- now_src_->AdvanceNow(base::TimeDelta::FromMilliseconds(100));
+ now_src_->Advance(base::TimeDelta::FromInternalValue(10000));
+ task_runner_ = new OrderedSimpleTaskRunner(now_src_.get(), true);
mithro-old 2015/06/04 07:41:10 task_runner_ should be created in the initializer
Ankur Verma 2015/06/05 14:39:16 Done.
+ // A bunch of tests require NowTicks()
+ // to be > BeginFrameArgs::DefaultInterval()
+ now_src_->Advance(base::TimeDelta::FromMilliseconds(100));
// Fail if we need to run 100 tasks in a row.
task_runner_->SetRunTaskLimit(100);
}
@@ -273,7 +275,7 @@ class SchedulerTest : public testing::Test {
fake_external_begin_frame_source_ =
fake_external_begin_frame_source.get();
}
- scheduler_ = TestScheduler::Create(now_src_, client_.get(),
+ scheduler_ = TestScheduler::Create(now_src_.get(), client_.get(),
scheduler_settings_, 0, task_runner_,
fake_external_begin_frame_source.Pass());
DCHECK(scheduler_);
@@ -300,7 +302,7 @@ class SchedulerTest : public testing::Test {
}
OrderedSimpleTaskRunner& task_runner() { return *task_runner_; }
- TestNowSource* now_src() { return now_src_.get(); }
+ base::SimpleTestTickClock* now_src() { return now_src_.get(); }
// As this function contains EXPECT macros, to allow debugging it should be
// called inside EXPECT_SCOPED like so;
@@ -404,7 +406,7 @@ class SchedulerTest : public testing::Test {
DCHECK(scheduler_->settings().use_external_begin_frame_source);
// Creep the time forward so that any BeginFrameArgs is not equal to the
// last one otherwise we violate the BeginFrameSource contract.
- now_src_->AdvanceNow(BeginFrameArgs::DefaultInterval());
+ now_src_->Advance(BeginFrameArgs::DefaultInterval());
BeginFrameArgs args =
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now_src());
fake_external_begin_frame_source_->TestOnBeginFrame(args);
@@ -429,7 +431,7 @@ class SchedulerTest : public testing::Test {
bool impl_side_painting);
void DidLoseOutputSurfaceAfterReadyToCommit(bool impl_side_painting);
- scoped_refptr<TestNowSource> now_src_;
+ scoped_ptr<base::SimpleTestTickClock> now_src_;
scoped_refptr<OrderedSimpleTaskRunner> task_runner_;
FakeExternalBeginFrameSource* fake_external_begin_frame_source_;
SchedulerSettings scheduler_settings_;
@@ -1818,9 +1820,9 @@ TEST_F(SchedulerTest, BeginRetroFrame_SwapThrottled) {
// Let time pass sufficiently beyond the regular deadline but not beyond the
// late deadline.
- now_src()->AdvanceNow(BeginFrameArgs::DefaultInterval() -
- base::TimeDelta::FromMicroseconds(1));
- task_runner().RunUntilTime(now_src()->Now());
+ now_src()->Advance(BeginFrameArgs::DefaultInterval() -
+ base::TimeDelta::FromMicroseconds(1));
+ task_runner().RunUntilTime(now_src()->NowTicks());
EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending());
// Take us out of a swap throttled state.
@@ -1831,7 +1833,7 @@ TEST_F(SchedulerTest, BeginRetroFrame_SwapThrottled) {
client_->Reset();
// Verify that the deadline was rescheduled.
- task_runner().RunUntilTime(now_src()->Now());
+ task_runner().RunUntilTime(now_src()->NowTicks());
EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_);
EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
EXPECT_TRUE(client_->needs_begin_frames());
@@ -1881,7 +1883,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooEarly) {
EXPECT_NO_ACTION(client_);
// Let's advance to the retro frame's deadline.
- now_src()->AdvanceNow(retro_frame_args.deadline - now_src()->Now());
+ now_src()->Advance(retro_frame_args.deadline - now_src()->NowTicks());
// The retro frame hasn't expired yet.
task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(false));
@@ -1939,8 +1941,8 @@ TEST_F(SchedulerTest, RetroFrameExpiresOnTime) {
EXPECT_NO_ACTION(client_);
// Let's advance sufficiently past the retro frame's deadline.
- now_src()->AdvanceNow(retro_frame_args.deadline - now_src()->Now() +
- base::TimeDelta::FromMicroseconds(1));
+ now_src()->Advance(retro_frame_args.deadline - now_src()->NowTicks() +
+ base::TimeDelta::FromMicroseconds(1));
// The retro frame should've expired.
EXPECT_NO_ACTION(client_);
@@ -1959,7 +1961,7 @@ TEST_F(SchedulerTest, MissedFrameDoesNotExpireTooEarly) {
missed_frame_args.type = BeginFrameArgs::MISSED;
// Advance to the deadline.
- now_src()->AdvanceNow(missed_frame_args.deadline - now_src()->Now());
+ now_src()->Advance(missed_frame_args.deadline - now_src()->NowTicks());
// Missed frame is handled because it's on time.
client_->Reset();
@@ -1984,8 +1986,8 @@ TEST_F(SchedulerTest, MissedFrameExpiresOnTime) {
missed_frame_args.type = BeginFrameArgs::MISSED;
// Advance sufficiently past the deadline.
- now_src()->AdvanceNow(missed_frame_args.deadline - now_src()->Now() +
- base::TimeDelta::FromMicroseconds(1));
+ now_src()->Advance(missed_frame_args.deadline - now_src()->NowTicks() +
+ base::TimeDelta::FromMicroseconds(1));
// Missed frame is dropped because it's too late.
client_->Reset();
@@ -2131,9 +2133,9 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled(
// Let time pass sufficiently beyond the regular deadline but not beyond the
// late deadline.
- now_src()->AdvanceNow(BeginFrameArgs::DefaultInterval() -
- base::TimeDelta::FromMicroseconds(1));
- task_runner().RunUntilTime(now_src()->Now());
+ now_src()->Advance(BeginFrameArgs::DefaultInterval() -
+ base::TimeDelta::FromMicroseconds(1));
+ task_runner().RunUntilTime(now_src()->NowTicks());
EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending());
// Take us out of a swap throttled state.
@@ -2145,9 +2147,9 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled(
// Verify that the deadline was rescheduled.
// We can't use RunUntilTime(now) here because the next frame is also
// scheduled if throttle_frame_production = false.
- base::TimeTicks before_deadline = now_src()->Now();
+ base::TimeTicks before_deadline = now_src()->NowTicks();
task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true));
- base::TimeTicks after_deadline = now_src()->Now();
+ base::TimeTicks after_deadline = now_src()->NowTicks();
EXPECT_EQ(after_deadline, before_deadline);
EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
client_->Reset();
@@ -2256,7 +2258,7 @@ void SchedulerTest::DidLoseOutputSurfaceAfterBeginFrameStartedWithHighLatency(
// BeginImplFrame is not started.
client_->Reset();
- task_runner().RunUntilTime(now_src()->Now() +
+ task_runner().RunUntilTime(now_src()->NowTicks() +
base::TimeDelta::FromMilliseconds(10));
EXPECT_NO_ACTION(client_);
EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());

Powered by Google App Engine
This is Rietveld 408576698