| Index: update_check_scheduler_unittest.cc
 | 
| diff --git a/update_check_scheduler_unittest.cc b/update_check_scheduler_unittest.cc
 | 
| index 8a0ca19e091cbb6573a303bb2c94430ea3e2a873..413453aa778cd68ea2a7708ec489dc7d62eb307e 100644
 | 
| --- a/update_check_scheduler_unittest.cc
 | 
| +++ b/update_check_scheduler_unittest.cc
 | 
| @@ -37,21 +37,22 @@ class UpdateCheckSchedulerUnderTest : public UpdateCheckScheduler {
 | 
|  };
 | 
|  
 | 
|  class UpdateCheckSchedulerTest : public ::testing::Test {
 | 
| + public:
 | 
| +  UpdateCheckSchedulerTest() : scheduler_(&attempter_) {}
 | 
| +
 | 
|   protected:
 | 
|    virtual void SetUp() {
 | 
|      test_ = this;
 | 
|      loop_ = NULL;
 | 
| -    scheduler_.reset(new UpdateCheckSchedulerUnderTest(&attempter_));
 | 
| -    EXPECT_EQ(&attempter_, scheduler_->update_attempter_);
 | 
| -    EXPECT_FALSE(scheduler_->enabled_);
 | 
| -    EXPECT_FALSE(scheduler_->scheduled_);
 | 
| -    EXPECT_EQ(0, scheduler_->last_interval_);
 | 
| +    EXPECT_EQ(&attempter_, scheduler_.update_attempter_);
 | 
| +    EXPECT_FALSE(scheduler_.enabled_);
 | 
| +    EXPECT_FALSE(scheduler_.scheduled_);
 | 
| +    EXPECT_EQ(0, scheduler_.last_interval_);
 | 
|    }
 | 
|  
 | 
|    virtual void TearDown() {
 | 
|      test_ = NULL;
 | 
|      loop_ = NULL;
 | 
| -    scheduler_.reset(NULL);
 | 
|    }
 | 
|  
 | 
|    static gboolean SourceCallback(gpointer data) {
 | 
| @@ -60,7 +61,7 @@ class UpdateCheckSchedulerTest : public ::testing::Test {
 | 
|      return test_->source_callback_.Call(data);
 | 
|    }
 | 
|  
 | 
| -  scoped_ptr<UpdateCheckSchedulerUnderTest> scheduler_;
 | 
| +  UpdateCheckSchedulerUnderTest scheduler_;
 | 
|    UpdateAttempterMock attempter_;
 | 
|    MockFunction<gboolean(gpointer data)> source_callback_;
 | 
|    GMainLoop* loop_;
 | 
| @@ -70,35 +71,35 @@ class UpdateCheckSchedulerTest : public ::testing::Test {
 | 
|  UpdateCheckSchedulerTest* UpdateCheckSchedulerTest::test_ = NULL;
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, CanScheduleTest) {
 | 
| -  EXPECT_FALSE(scheduler_->CanSchedule());
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  EXPECT_TRUE(scheduler_->CanSchedule());
 | 
| -  scheduler_->scheduled_ = true;
 | 
| -  EXPECT_FALSE(scheduler_->CanSchedule());
 | 
| -  scheduler_->enabled_ = false;
 | 
| -  EXPECT_FALSE(scheduler_->CanSchedule());
 | 
| +  EXPECT_FALSE(scheduler_.CanSchedule());
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  EXPECT_TRUE(scheduler_.CanSchedule());
 | 
| +  scheduler_.scheduled_ = true;
 | 
| +  EXPECT_FALSE(scheduler_.CanSchedule());
 | 
| +  scheduler_.enabled_ = false;
 | 
| +  EXPECT_FALSE(scheduler_.CanSchedule());
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ComputeNextIntervalAndFuzzBackoffTest) {
 | 
|    int interval, fuzz;
 | 
|    attempter_.set_http_response_code(500);
 | 
|    int last_interval = UpdateCheckScheduler::kTimeoutPeriodic + 50;
 | 
| -  scheduler_->last_interval_ = last_interval;
 | 
| -  scheduler_->ComputeNextIntervalAndFuzz(&interval, &fuzz);
 | 
| +  scheduler_.last_interval_ = last_interval;
 | 
| +  scheduler_.ComputeNextIntervalAndFuzz(&interval, &fuzz);
 | 
|    EXPECT_EQ(2 * last_interval, interval);
 | 
|    EXPECT_EQ(2 * last_interval, fuzz);
 | 
|  
 | 
|    attempter_.set_http_response_code(503);
 | 
|    last_interval = UpdateCheckScheduler::kTimeoutMaxBackoff / 2 + 1;
 | 
| -  scheduler_->last_interval_ = last_interval;
 | 
| -  scheduler_->ComputeNextIntervalAndFuzz(&interval, &fuzz);
 | 
| +  scheduler_.last_interval_ = last_interval;
 | 
| +  scheduler_.ComputeNextIntervalAndFuzz(&interval, &fuzz);
 | 
|    EXPECT_EQ(UpdateCheckScheduler::kTimeoutMaxBackoff, interval);
 | 
|    EXPECT_EQ(UpdateCheckScheduler::kTimeoutMaxBackoff, fuzz);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ComputeNextIntervalAndFuzzTest) {
 | 
|    int interval, fuzz;
 | 
| -  scheduler_->ComputeNextIntervalAndFuzz(&interval, &fuzz);
 | 
| +  scheduler_.ComputeNextIntervalAndFuzz(&interval, &fuzz);
 | 
|    EXPECT_EQ(UpdateCheckScheduler::kTimeoutPeriodic, interval);
 | 
|    EXPECT_EQ(UpdateCheckScheduler::kTimeoutRegularFuzz, fuzz);
 | 
|  }
 | 
| @@ -106,38 +107,38 @@ TEST_F(UpdateCheckSchedulerTest, ComputeNextIntervalAndFuzzTest) {
 | 
|  TEST_F(UpdateCheckSchedulerTest, GTimeoutAddSecondsTest) {
 | 
|    loop_ = g_main_loop_new(g_main_context_default(), FALSE);
 | 
|    // Invokes the actual GLib wrapper method rather than the subclass mock.
 | 
| -  scheduler_->UpdateCheckScheduler::GTimeoutAddSeconds(0, SourceCallback);
 | 
| -  EXPECT_CALL(source_callback_, Call(scheduler_.get())).Times(1);
 | 
| +  scheduler_.UpdateCheckScheduler::GTimeoutAddSeconds(0, SourceCallback);
 | 
| +  EXPECT_CALL(source_callback_, Call(&scheduler_)).Times(1);
 | 
|    g_main_loop_run(loop_);
 | 
|    g_main_loop_unref(loop_);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, IsBootDeviceRemovableTest) {
 | 
|    // Invokes the actual utils wrapper method rather than the subclass mock.
 | 
| -  EXPECT_FALSE(scheduler_->UpdateCheckScheduler::IsBootDeviceRemovable());
 | 
| +  EXPECT_FALSE(scheduler_.UpdateCheckScheduler::IsBootDeviceRemovable());
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, IsOfficialBuildTest) {
 | 
|    // Invokes the actual utils wrapper method rather than the subclass mock.
 | 
| -  EXPECT_TRUE(scheduler_->UpdateCheckScheduler::IsOfficialBuild());
 | 
| +  EXPECT_TRUE(scheduler_.UpdateCheckScheduler::IsOfficialBuild());
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, RunBootDeviceRemovableTest) {
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  EXPECT_CALL(*scheduler_, IsOfficialBuild()).Times(1).WillOnce(Return(true));
 | 
| -  EXPECT_CALL(*scheduler_, IsBootDeviceRemovable())
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  EXPECT_CALL(scheduler_, IsOfficialBuild()).Times(1).WillOnce(Return(true));
 | 
| +  EXPECT_CALL(scheduler_, IsBootDeviceRemovable())
 | 
|        .Times(1)
 | 
|        .WillOnce(Return(true));
 | 
| -  scheduler_->Run();
 | 
| -  EXPECT_FALSE(scheduler_->enabled_);
 | 
| +  scheduler_.Run();
 | 
| +  EXPECT_FALSE(scheduler_.enabled_);
 | 
|    EXPECT_EQ(NULL, attempter_.update_check_scheduler());
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, RunNonOfficialBuildTest) {
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  EXPECT_CALL(*scheduler_, IsOfficialBuild()).Times(1).WillOnce(Return(false));
 | 
| -  scheduler_->Run();
 | 
| -  EXPECT_FALSE(scheduler_->enabled_);
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  EXPECT_CALL(scheduler_, IsOfficialBuild()).Times(1).WillOnce(Return(false));
 | 
| +  scheduler_.Run();
 | 
| +  EXPECT_FALSE(scheduler_.enabled_);
 | 
|    EXPECT_EQ(NULL, attempter_.update_check_scheduler());
 | 
|  }
 | 
|  
 | 
| @@ -147,48 +148,48 @@ TEST_F(UpdateCheckSchedulerTest, RunTest) {
 | 
|              UpdateCheckScheduler::kTimeoutRegularFuzz,
 | 
|              &interval_min,
 | 
|              &interval_max);
 | 
| -  EXPECT_CALL(*scheduler_, IsOfficialBuild()).Times(1).WillOnce(Return(true));
 | 
| -  EXPECT_CALL(*scheduler_, IsBootDeviceRemovable())
 | 
| +  EXPECT_CALL(scheduler_, IsOfficialBuild()).Times(1).WillOnce(Return(true));
 | 
| +  EXPECT_CALL(scheduler_, IsBootDeviceRemovable())
 | 
|        .Times(1)
 | 
|        .WillOnce(Return(false));
 | 
| -  EXPECT_CALL(*scheduler_,
 | 
| +  EXPECT_CALL(scheduler_,
 | 
|                GTimeoutAddSeconds(AllOf(Ge(interval_min), Le(interval_max)),
 | 
| -                                 scheduler_->StaticCheck)).Times(1);
 | 
| -  scheduler_->Run();
 | 
| -  EXPECT_TRUE(scheduler_->enabled_);
 | 
| -  EXPECT_EQ(scheduler_.get(), attempter_.update_check_scheduler());
 | 
| +                                 scheduler_.StaticCheck)).Times(1);
 | 
| +  scheduler_.Run();
 | 
| +  EXPECT_TRUE(scheduler_.enabled_);
 | 
| +  EXPECT_EQ(&scheduler_, attempter_.update_check_scheduler());
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ScheduleCheckDisabledTest) {
 | 
| -  EXPECT_CALL(*scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| -  scheduler_->ScheduleCheck(250, 30);
 | 
| -  EXPECT_EQ(0, scheduler_->last_interval_);
 | 
| -  EXPECT_FALSE(scheduler_->scheduled_);
 | 
| +  EXPECT_CALL(scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| +  scheduler_.ScheduleCheck(250, 30);
 | 
| +  EXPECT_EQ(0, scheduler_.last_interval_);
 | 
| +  EXPECT_FALSE(scheduler_.scheduled_);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ScheduleCheckEnabledTest) {
 | 
|    int interval_min, interval_max;
 | 
|    FuzzRange(100, 10, &interval_min,&interval_max);
 | 
| -  EXPECT_CALL(*scheduler_,
 | 
| +  EXPECT_CALL(scheduler_,
 | 
|                GTimeoutAddSeconds(AllOf(Ge(interval_min), Le(interval_max)),
 | 
| -                                 scheduler_->StaticCheck)).Times(1);
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  scheduler_->ScheduleCheck(100, 10);
 | 
| -  EXPECT_EQ(100, scheduler_->last_interval_);
 | 
| -  EXPECT_TRUE(scheduler_->scheduled_);
 | 
| +                                 scheduler_.StaticCheck)).Times(1);
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  scheduler_.ScheduleCheck(100, 10);
 | 
| +  EXPECT_EQ(100, scheduler_.last_interval_);
 | 
| +  EXPECT_TRUE(scheduler_.scheduled_);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ScheduleCheckNegativeIntervalTest) {
 | 
| -  EXPECT_CALL(*scheduler_, GTimeoutAddSeconds(0, scheduler_->StaticCheck))
 | 
| +  EXPECT_CALL(scheduler_, GTimeoutAddSeconds(0, scheduler_.StaticCheck))
 | 
|        .Times(1);
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  scheduler_->ScheduleCheck(-50, 20);
 | 
| -  EXPECT_TRUE(scheduler_->scheduled_);
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  scheduler_.ScheduleCheck(-50, 20);
 | 
| +  EXPECT_TRUE(scheduler_.scheduled_);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ScheduleNextCheckDisabledTest) {
 | 
| -  EXPECT_CALL(*scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| -  scheduler_->ScheduleNextCheck();
 | 
| +  EXPECT_CALL(scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| +  scheduler_.ScheduleNextCheck();
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, ScheduleNextCheckEnabledTest) {
 | 
| @@ -197,16 +198,16 @@ TEST_F(UpdateCheckSchedulerTest, ScheduleNextCheckEnabledTest) {
 | 
|              UpdateCheckScheduler::kTimeoutRegularFuzz,
 | 
|              &interval_min,
 | 
|              &interval_max);
 | 
| -  EXPECT_CALL(*scheduler_,
 | 
| +  EXPECT_CALL(scheduler_,
 | 
|                GTimeoutAddSeconds(AllOf(Ge(interval_min), Le(interval_max)),
 | 
| -                                 scheduler_->StaticCheck)).Times(1);
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  scheduler_->ScheduleNextCheck();
 | 
| +                                 scheduler_.StaticCheck)).Times(1);
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  scheduler_.ScheduleNextCheck();
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, SetUpdateStatusIdleDisabledTest) {
 | 
| -  EXPECT_CALL(*scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| -  scheduler_->SetUpdateStatus(UPDATE_STATUS_IDLE);
 | 
| +  EXPECT_CALL(scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| +  scheduler_.SetUpdateStatus(UPDATE_STATUS_IDLE);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, SetUpdateStatusIdleEnabledTest) {
 | 
| @@ -215,24 +216,24 @@ TEST_F(UpdateCheckSchedulerTest, SetUpdateStatusIdleEnabledTest) {
 | 
|              UpdateCheckScheduler::kTimeoutRegularFuzz,
 | 
|              &interval_min,
 | 
|              &interval_max);
 | 
| -  EXPECT_CALL(*scheduler_,
 | 
| +  EXPECT_CALL(scheduler_,
 | 
|                GTimeoutAddSeconds(AllOf(Ge(interval_min), Le(interval_max)),
 | 
| -                                 scheduler_->StaticCheck)).Times(1);
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  scheduler_->SetUpdateStatus(UPDATE_STATUS_IDLE);
 | 
| +                                 scheduler_.StaticCheck)).Times(1);
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  scheduler_.SetUpdateStatus(UPDATE_STATUS_IDLE);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, SetUpdateStatusNonIdleTest) {
 | 
| -  EXPECT_CALL(*scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| -  scheduler_->SetUpdateStatus(UPDATE_STATUS_DOWNLOADING);
 | 
| -  scheduler_->enabled_ = true;
 | 
| -  scheduler_->SetUpdateStatus(UPDATE_STATUS_DOWNLOADING);
 | 
| +  EXPECT_CALL(scheduler_, GTimeoutAddSeconds(_, _)).Times(0);
 | 
| +  scheduler_.SetUpdateStatus(UPDATE_STATUS_DOWNLOADING);
 | 
| +  scheduler_.enabled_ = true;
 | 
| +  scheduler_.SetUpdateStatus(UPDATE_STATUS_DOWNLOADING);
 | 
|  }
 | 
|  
 | 
|  TEST_F(UpdateCheckSchedulerTest, StaticCheckTest) {
 | 
| -  scheduler_->scheduled_ = true;
 | 
| +  scheduler_.scheduled_ = true;
 | 
|    EXPECT_CALL(attempter_, Update("", "")).Times(1);
 | 
| -  UpdateCheckSchedulerUnderTest::StaticCheck(scheduler_.get());
 | 
| +  UpdateCheckSchedulerUnderTest::StaticCheck(&scheduler_);
 | 
|  }
 | 
|  
 | 
|  }  // namespace chromeos_update_engine
 | 
| 
 |