summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/extensions/extension_browsertests_misc.cc83
-rw-r--r--chrome/test/in_process_browser_test.cc8
2 files changed, 60 insertions, 31 deletions
diff --git a/chrome/browser/extensions/extension_browsertests_misc.cc b/chrome/browser/extensions/extension_browsertests_misc.cc
index 952bcba..91f488c 100644
--- a/chrome/browser/extensions/extension_browsertests_misc.cc
+++ b/chrome/browser/extensions/extension_browsertests_misc.cc
@@ -309,10 +309,11 @@ void GetParsedFeedData(Browser* browser, std::string* feed_title,
jscript_error, error));
}
-// Tests that we can parse feeds.
-// This test works fine on XP and all Vista machines I've tested it on, but for
-// some reason fails reliably on the Vista bots.
-IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeed) {
+
+// Tests that we can parse valid feeds.
+// This test was originally one big test that kept timing out because there is
+// an overall timeout per browser tests. It was then split up into multiple.
+IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeedValidFeeds1) {
HTTPTestServer* server = StartHTTPServer();
std::string feed_title;
@@ -321,8 +322,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeed) {
std::string error;
std::cout << "Starting test ParseFeed with kValidFeed1.\n";
-
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kValidFeed1));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'MyFeedTitle'", feed_title.c_str());
EXPECT_STREQ("Title 1", item_title.c_str());
@@ -330,8 +331,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeed) {
EXPECT_STREQ("No error", error.c_str());
std::cout << "Moving on to kValidFeed2.\n";
-
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kValidFeed2));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'MyFeed2'", feed_title.c_str());
EXPECT_STREQ("My item title1", item_title.c_str());
@@ -339,8 +340,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeed) {
EXPECT_STREQ("No error", error.c_str());
std::cout << "Moving on to kValidFeed3.\n";
-
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kValidFeed3));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'Google Code buglist rss feed'", feed_title.c_str());
EXPECT_STREQ("My dear title", item_title.c_str());
@@ -348,40 +349,32 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeed) {
EXPECT_STREQ("No error", error.c_str());
std::cout << "Moving on to kValidFeed4.\n";
-
// Feed with weird characters in title.
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kValidFeed4));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'Title chars <script> %23 stop'", feed_title.c_str());
EXPECT_STREQ("Title chars <script> %23 stop", item_title.c_str());
EXPECT_STREQ("My dear content", item_desc.c_str());
EXPECT_STREQ("No error", error.c_str());
+}
- std::cout << "Moving on to kInvalidFeed1.\n";
-
- // Try an empty feed.
- ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kInvalidFeed1));
- GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
- EXPECT_STREQ("Feed for 'Unknown feed name'", feed_title.c_str());
- EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str());
- EXPECT_STREQ("element 'desc_0' not found", item_desc.c_str());
- EXPECT_STREQ("Not a valid feed.", error.c_str());
-
- std::cout << "Moving on to kInvalidFeed2.\n";
+// Tests that we can parse valid feeds.
+// This test was originally one big test that kept timing out because there is
+// an overall timeout per browser tests. It was then split up into multiple.
+IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeedValidFeeds2) {
+ HTTPTestServer* server = StartHTTPServer();
- // Try a garbage feed.
- ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kInvalidFeed2));
- GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
- EXPECT_STREQ("Feed for 'Unknown feed name'", feed_title.c_str());
- EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str());
- EXPECT_STREQ("element 'desc_0' not found", item_desc.c_str());
- EXPECT_STREQ("Not a valid feed.", error.c_str());
+ std::string feed_title;
+ std::string item_title;
+ std::string item_desc;
+ std::string error;
std::cout << "Moving on to kValidFeed0.\n";
-
// Try a feed with a link with an onclick handler (before r27440 this would
// trigger a NOTREACHED).
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kValidFeed0));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'MyFeedTitle'", feed_title.c_str());
EXPECT_STREQ("Title 1", item_title.c_str());
@@ -389,19 +382,51 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeed) {
EXPECT_STREQ("No error", error.c_str());
std::cout << "Moving on to kValidFeed5.\n";
-
// Feed with valid but mostly empty xml.
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kValidFeed5));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'Unknown feed name'", feed_title.c_str());
EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str());
EXPECT_STREQ("element 'desc_0' not found", item_desc.c_str());
EXPECT_STREQ("This feed contains no entries.", error.c_str());
+}
- std::cout << "Moving on to foo.xml (doesn't exist).\n";
+// Tests that we can parse invalid feeds.
+// This test was originally one big test that kept timing out because there is
+// an overall timeout per browser tests. It was then split up into multiple.
+IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, FLAKY_ParseFeedInvalidFeeds1) {
+ HTTPTestServer* server = StartHTTPServer();
+ std::string feed_title;
+ std::string item_title;
+ std::string item_desc;
+ std::string error;
+
+ std::cout << "Moving on to kInvalidFeed1.\n";
+ // Try an empty feed.
+ ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kInvalidFeed1));
+ std::cout << "GetParseFeedData.\n";
+ GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
+ EXPECT_STREQ("Feed for 'Unknown feed name'", feed_title.c_str());
+ EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str());
+ EXPECT_STREQ("element 'desc_0' not found", item_desc.c_str());
+ EXPECT_STREQ("Not a valid feed.", error.c_str());
+
+ std::cout << "Moving on to kInvalidFeed2.\n";
+ // Try a garbage feed.
+ ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, kInvalidFeed2));
+ std::cout << "GetParseFeedData.\n";
+ GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
+ EXPECT_STREQ("Feed for 'Unknown feed name'", feed_title.c_str());
+ EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str());
+ EXPECT_STREQ("element 'desc_0' not found", item_desc.c_str());
+ EXPECT_STREQ("Not a valid feed.", error.c_str());
+
+ std::cout << "Moving on to foo.xml (doesn't exist).\n";
// Try a feed that doesn't exist.
ui_test_utils::NavigateToURL(browser(), GetFeedUrl(server, L"foo.xml"));
+ std::cout << "GetParseFeedData.\n";
GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error);
EXPECT_STREQ("Feed for 'Unknown feed name'", feed_title.c_str());
EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str());
diff --git a/chrome/test/in_process_browser_test.cc b/chrome/test/in_process_browser_test.cc
index 2913de1..d4028db 100644
--- a/chrome/test/in_process_browser_test.cc
+++ b/chrome/test/in_process_browser_test.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -247,7 +247,11 @@ void InProcessBrowserTest::RunTestOnMainThreadLoop() {
void InProcessBrowserTest::TimedOut() {
DCHECK(MessageLoopForUI::current()->IsNested());
- GTEST_NONFATAL_FAILURE_("Timed-out");
+ std::string error_message = "Test timed out. Each test runs for a max of ";
+ error_message += IntToString(kInitialTimeoutInMS);
+ error_message += " ms (kInitialTimeoutInMS).";
+
+ GTEST_NONFATAL_FAILURE_(error_message.c_str());
// Start the timeout timer to prevent hangs.
MessageLoopForUI::current()->PostDelayedTask(FROM_HERE,