diff options
author | nasko@chromium.org <nasko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 15:38:36 +0000 |
---|---|---|
committer | nasko@chromium.org <nasko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 15:38:36 +0000 |
commit | 4c9d0208386c5b1eb04ff6e62a41a078aeeb9fc1 (patch) | |
tree | 8062e720f78815c6b0548e6c053ff36b23e451d4 /chrome/browser/extensions/app_process_apitest.cc | |
parent | 04a2598f7ad48a6c7d31a77f37638c167704844e (diff) | |
download | chromium_src-4c9d0208386c5b1eb04ff6e62a41a078aeeb9fc1.zip chromium_src-4c9d0208386c5b1eb04ff6e62a41a078aeeb9fc1.tar.gz chromium_src-4c9d0208386c5b1eb04ff6e62a41a078aeeb9fc1.tar.bz2 |
Enabling the app tests and adding logging to help diagnosing flaky execution.
BUG=238670
Review URL: https://chromiumcodereview.appspot.com/14617023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200273 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/app_process_apitest.cc')
-rw-r--r-- | chrome/browser/extensions/app_process_apitest.cc | 64 |
1 files changed, 48 insertions, 16 deletions
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc index d0e6865..811d94d 100644 --- a/chrome/browser/extensions/app_process_apitest.cc +++ b/chrome/browser/extensions/app_process_apitest.cc @@ -407,13 +407,10 @@ IN_PROC_BROWSER_TEST_F(AppApiTest, AppProcessRedirectBack) { // Ensure that re-navigating to a URL after installing or uninstalling it as an // app correctly swaps the tab to the app process. (http://crbug.com/80621) +// // Fails on Windows. http://crbug.com/238670 -#if defined(OS_WIN) -#define MAYBE_NavigateIntoAppProcess DISABLED_NavigateIntoAppProcess -#else -#define MAYBE_NavigateIntoAppProcess NavigateIntoAppProcess -#endif -IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_NavigateIntoAppProcess) { +// Added logging to help diagnose the location of the problem. +IN_PROC_BROWSER_TEST_F(AppApiTest, NavigateIntoAppProcess) { extensions::ProcessMap* process_map = extensions::ExtensionSystem::Get( browser()->profile())->extension_service()->process_map(); @@ -425,28 +422,41 @@ IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_NavigateIntoAppProcess) { GURL base_url = GetTestBaseURL("app_process"); // Load an app URL before loading the app. + LOG(INFO) << "Loading path1/empty.html."; ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); + LOG(INFO) << "Loading path1/empty.html - done."; WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0); EXPECT_FALSE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); // Load app and re-navigate to the page. + LOG(INFO) << "Loading extension."; const Extension* app = LoadExtension(test_data_dir_.AppendASCII("app_process")); + LOG(INFO) << "Loading extension - done."; ASSERT_TRUE(app); + LOG(INFO) << "Loading path1/empty.html."; ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); + LOG(INFO) << "Loading path1/empty.html - done."; EXPECT_TRUE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); // Disable app and re-navigate to the page. + LOG(INFO) << "Disabling extension."; DisableExtension(app->id()); + LOG(INFO) << "Disabling extension - done."; + LOG(INFO) << "Loading path1/empty.html."; ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); + LOG(INFO) << "Loading path1/empty.html - done."; EXPECT_FALSE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); } // Ensure that reloading a URL after installing or uninstalling it as an app // correctly swaps the tab to the app process. (http://crbug.com/80621) +// +// Added logging to help diagnose the location of the problem. +// http://crbug.com/238670 IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcess) { extensions::ProcessMap* process_map = extensions::ExtensionSystem::Get( browser()->profile())->extension_service()->process_map(); @@ -459,52 +469,60 @@ IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcess) { GURL base_url = GetTestBaseURL("app_process"); // Load app, disable it, and navigate to the page. + LOG(INFO) << "Loading extension."; const Extension* app = LoadExtension(test_data_dir_.AppendASCII("app_process")); + LOG(INFO) << "Loading extension - done."; ASSERT_TRUE(app); + LOG(INFO) << "Disabling extension."; DisableExtension(app->id()); + LOG(INFO) << "Disabling extension - done."; + LOG(INFO) << "Navigate to path1/empty.html."; ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); + LOG(INFO) << "Navigate to path1/empty.html - done."; WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0); EXPECT_FALSE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); // Enable app and reload the page. + LOG(INFO) << "Enabling extension."; EnableExtension(app->id()); + LOG(INFO) << "Enabling extension - done."; content::WindowedNotificationObserver reload_observer( content::NOTIFICATION_LOAD_STOP, content::Source<NavigationController>( &browser()->tab_strip_model()->GetActiveWebContents()-> GetController())); + LOG(INFO) << "Reloading."; chrome::Reload(browser(), CURRENT_TAB); reload_observer.Wait(); + LOG(INFO) << "Reloading - done."; EXPECT_TRUE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); // Disable app and reload the page. + LOG(INFO) << "Disabling extension."; DisableExtension(app->id()); + LOG(INFO) << "Disabling extension - done."; content::WindowedNotificationObserver reload_observer2( content::NOTIFICATION_LOAD_STOP, content::Source<NavigationController>( &browser()->tab_strip_model()->GetActiveWebContents()-> GetController())); + LOG(INFO) << "Reloading."; chrome::Reload(browser(), CURRENT_TAB); reload_observer2.Wait(); + LOG(INFO) << "Reloading - done."; EXPECT_FALSE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); } -// Crashes on Windows and Mac. http://crbug.com/238670 -#if defined(OS_WIN) || defined(OS_MACOSX) -#define MAYBE_ReloadIntoAppProcessWithJavaScript \ - DISABLED_ReloadIntoAppProcessWithJavaScript -#else -#define MAYBE_ReloadIntoAppProcessWithJavaScript \ - ReloadIntoAppProcessWithJavaScript -#endif - // Ensure that reloading a URL with JavaScript after installing or uninstalling // it as an app correctly swaps the process. (http://crbug.com/80621) -IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_ReloadIntoAppProcessWithJavaScript) { +// +// Crashes on Windows and Mac. http://crbug.com/238670 +// Added logging to help diagnose the location of the problem. +IN_PROC_BROWSER_TEST_F(AppApiTest, ReloadIntoAppProcessWithJavaScript) { extensions::ProcessMap* process_map = extensions::ExtensionSystem::Get( browser()->profile())->extension_service()->process_map(); @@ -516,36 +534,50 @@ IN_PROC_BROWSER_TEST_F(AppApiTest, MAYBE_ReloadIntoAppProcessWithJavaScript) { GURL base_url = GetTestBaseURL("app_process"); // Load app, disable it, and navigate to the page. + LOG(INFO) << "Loading extension."; const Extension* app = LoadExtension(test_data_dir_.AppendASCII("app_process")); + LOG(INFO) << "Loading extension - done."; ASSERT_TRUE(app); + LOG(INFO) << "Disabling extension."; DisableExtension(app->id()); + LOG(INFO) << "Disabling extension - done."; + LOG(INFO) << "Navigate to path1/empty.html."; ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); + LOG(INFO) << "Navigate to path1/empty.html - done."; WebContents* contents = browser()->tab_strip_model()->GetWebContentsAt(0); EXPECT_FALSE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); // Enable app and reload via JavaScript. + LOG(INFO) << "Enabling extension."; EnableExtension(app->id()); + LOG(INFO) << "Enabling extension - done."; content::WindowedNotificationObserver js_reload_observer( content::NOTIFICATION_LOAD_STOP, content::Source<NavigationController>( &browser()->tab_strip_model()->GetActiveWebContents()-> GetController())); + LOG(INFO) << "Executing location.reload()."; ASSERT_TRUE(content::ExecuteScript(contents, "location.reload();")); js_reload_observer.Wait(); + LOG(INFO) << "Executing location.reload() - done."; EXPECT_TRUE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); // Disable app and reload via JavaScript. + LOG(INFO) << "Disabling extension."; DisableExtension(app->id()); + LOG(INFO) << "Disabling extension - done."; content::WindowedNotificationObserver js_reload_observer2( content::NOTIFICATION_LOAD_STOP, content::Source<NavigationController>( &browser()->tab_strip_model()->GetActiveWebContents()-> GetController())); + LOG(INFO) << "Executing location = location."; ASSERT_TRUE(content::ExecuteScript(contents, "location = location;")); js_reload_observer2.Wait(); + LOG(INFO) << "Executing location = location - done."; EXPECT_FALSE(process_map->Contains( contents->GetRenderProcessHost()->GetID())); } |