Fix update_engine_unittests bug - properly setup singleton class member.

This fix sets up "CertificateChecker::system_state_" properly to avoid
using an earlier invalidated object instance.

Please note, the seg fault caused by above problems do not occur in
current build/testing circle, they are exposed when I am doing testing
on upgrading to binutils 2.22.

TEST=all tests passed
BUG=None

Change-Id: Ie258c3a518508a233bcc93de5462584e3ec0dd0e
Reviewed-on: https://gerrit.chromium.org/gerrit/39865
Reviewed-by: Jay Srinivasan <jaysri@chromium.org>
Commit-Ready: Han Shen <shenhan@google.com>
Tested-by: Han Shen <shenhan@google.com>
diff --git a/update_check_scheduler_unittest.cc b/update_check_scheduler_unittest.cc
index bc1a560..ac31957 100644
--- a/update_check_scheduler_unittest.cc
+++ b/update_check_scheduler_unittest.cc
@@ -4,6 +4,8 @@
 
 #include <gtest/gtest.h>
 
+#include "update_engine/certificate_checker.h"
+#include "update_engine/certificate_checker_mock.h"
 #include "update_engine/mock_system_state.h"
 #include "update_engine/update_attempter_mock.h"
 #include "update_engine/update_check_scheduler.h"
@@ -57,6 +59,9 @@
     EXPECT_FALSE(scheduler_.scheduled_);
     EXPECT_EQ(0, scheduler_.last_interval_);
     EXPECT_EQ(0, scheduler_.poll_interval_);
+    // Make sure singleton CertificateChecker has its members properly setup.
+    CertificateChecker::set_system_state(&mock_system_state_);
+    CertificateChecker::set_openssl_wrapper(&openssl_wrapper_);
   }
 
   virtual void TearDown() {
@@ -72,6 +77,7 @@
 
   MockSystemState mock_system_state_;
   MockDbusGlib dbus_;
+  OpenSSLWrapperMock openssl_wrapper_;
   UpdateAttempterMock attempter_;
   UpdateCheckSchedulerUnderTest scheduler_;
   MockFunction<gboolean(gpointer data)> source_callback_;