| Index: chrome/browser/chromeos/login/parallel_authenticator_unittest.cc | 
| diff --git a/chrome/browser/chromeos/login/parallel_authenticator_unittest.cc b/chrome/browser/chromeos/login/parallel_authenticator_unittest.cc | 
| index 7569a9d82ff2ac0567c6c887858c1f67573dcf43..e1896f2d8a802122511390c734656a32e097287b 100644 | 
| --- a/chrome/browser/chromeos/login/parallel_authenticator_unittest.cc | 
| +++ b/chrome/browser/chromeos/login/parallel_authenticator_unittest.cc | 
| @@ -6,6 +6,7 @@ | 
|  | 
| #include <string> | 
|  | 
| +#include "base/command_line.h" | 
| #include "base/file_util.h" | 
| #include "base/files/file_path.h" | 
| #include "base/memory/scoped_ptr.h" | 
| @@ -22,6 +23,7 @@ | 
| #include "chrome/browser/chromeos/settings/device_settings_test_helper.h" | 
| #include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h" | 
| #include "chrome/test/base/testing_profile.h" | 
| +#include "chromeos/chromeos_switches.h" | 
| #include "chromeos/cryptohome/mock_async_method_caller.h" | 
| #include "chromeos/cryptohome/mock_cryptohome_library.h" | 
| #include "chromeos/dbus/fake_cryptohome_client.h" | 
| @@ -55,7 +57,8 @@ class ParallelAuthenticatorTest : public testing::Test { | 
| : username_("me@nowhere.org"), | 
| password_("fakepass"), | 
| hash_ascii_("0a010000000000a0" + std::string(16, '0')), | 
| -        user_manager_enabler_(new MockUserManager) { | 
| +        user_manager_enabler_(new MockUserManager), | 
| +        mock_caller_(NULL) { | 
| } | 
|  | 
| virtual ~ParallelAuthenticatorTest() { | 
| @@ -63,6 +66,8 @@ class ParallelAuthenticatorTest : public testing::Test { | 
| } | 
|  | 
| virtual void SetUp() { | 
| +    CommandLine::ForCurrentProcess()->AppendSwitch(switches::kLoginManager); | 
| + | 
| mock_caller_ = new cryptohome::MockAsyncMethodCaller; | 
| cryptohome::AsyncMethodCaller::InitializeForTesting(mock_caller_); | 
|  | 
| @@ -327,9 +332,21 @@ TEST_F(ParallelAuthenticatorTest, ResolveOwnerNeededFailedMount) { | 
| CrosSettings::Get()->AddSettingsProvider(&stub_settings_provider); | 
| CrosSettings::Get()->SetBoolean(kPolicyMissingMitigationMode, true); | 
|  | 
| +  // Initialize login state for this test to verify the login state is changed | 
| +  // to SAFE_MODE. | 
| +  LoginState::Initialize(); | 
| + | 
| EXPECT_EQ(ParallelAuthenticator::CONTINUE, | 
| SetAndResolveState(auth_.get(), state_.release())); | 
| -  // Let the owner verification run. | 
| +  EXPECT_TRUE(LoginState::Get()->IsInSafeMode()); | 
| + | 
| +  // Simulate certificates load event. The exact certificates loaded are not | 
| +  // actually used by the DeviceSettingsService, so it is OK to pass an empty | 
| +  // list. | 
| +  DeviceSettingsService::Get()->OnCertificatesLoaded(net::CertificateList(), | 
| +                                                     true); | 
| +  // Flush all the pending operations. The operations should induce an owner | 
| +  // verification. | 
| device_settings_test_helper_.Flush(); | 
| // and test that the mount has succeeded. | 
| state_.reset(new TestAttemptState(UserContext(username_, | 
| @@ -344,6 +361,8 @@ TEST_F(ParallelAuthenticatorTest, ResolveOwnerNeededFailedMount) { | 
| EXPECT_EQ(ParallelAuthenticator::OWNER_REQUIRED, | 
| SetAndResolveState(auth_.get(), state_.release())); | 
|  | 
| +  // Unset global objects used by this test. | 
| +  LoginState::Shutdown(); | 
| EXPECT_TRUE( | 
| CrosSettings::Get()->RemoveSettingsProvider(&stub_settings_provider)); | 
| CrosSettings::Get()->AddSettingsProvider(device_settings_provider); | 
|  |