Index: chrome/test/ui/ui_test.cc |
=================================================================== |
--- chrome/test/ui/ui_test.cc (revision 106989) |
+++ chrome/test/ui/ui_test.cc (working copy) |
@@ -37,6 +37,7 @@ |
#include "chrome/common/chrome_paths.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/logging_chrome.h" |
+#include "chrome/common/pref_names.h" |
#include "chrome/common/url_constants.h" |
#include "chrome/test/automation/automation_proxy.h" |
#include "chrome/test/automation/browser_proxy.h" |
@@ -801,3 +802,28 @@ |
ADD_FAILURE() << "Timeout reached in " << __FUNCTION__; |
return false; |
} |
+ |
+// TODO(achuith): Call VerifyCleanExit from TerminateBrowser. |
+// http://crbug.com/101390 |
+void UITest::VerifyCleanExit() { |
+ // Make sure the UMA metrics say we didn't crash. |
+ scoped_ptr<DictionaryValue> local_prefs(GetLocalState()); |
+ bool exited_cleanly; |
+ ASSERT_TRUE(local_prefs.get()); |
+ ASSERT_TRUE(local_prefs->GetBoolean(prefs::kStabilityExitedCleanly, |
+ &exited_cleanly)); |
+ ASSERT_TRUE(exited_cleanly); |
+ |
+ // And that session end was successful. |
+ bool session_end_completed; |
+ ASSERT_TRUE(local_prefs->GetBoolean(prefs::kStabilitySessionEndCompleted, |
+ &session_end_completed)); |
+ ASSERT_TRUE(session_end_completed); |
+ |
+ // Make sure session restore says we didn't crash. |
+ scoped_ptr<DictionaryValue> profile_prefs(GetDefaultProfilePreferences()); |
+ ASSERT_TRUE(profile_prefs.get()); |
+ ASSERT_TRUE(profile_prefs->GetBoolean(prefs::kSessionExitedCleanly, |
+ &exited_cleanly)); |
+ ASSERT_TRUE(exited_cleanly); |
+} |