| 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
|
|
|