diff options
author | pathorn@chromium.org <pathorn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-17 23:58:05 +0000 |
---|---|---|
committer | pathorn@chromium.org <pathorn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-17 23:58:05 +0000 |
commit | 5f8a6316bfefa3b8923ed9e8cb5bbb543ee66a79 (patch) | |
tree | f785602983698034b8629babdd8c3c5e727768e3 /chrome/test/startup | |
parent | 5b20330abc0ee54fb6900785a263e3a82cdb8851 (diff) | |
download | chromium_src-5f8a6316bfefa3b8923ed9e8cb5bbb543ee66a79.zip chromium_src-5f8a6316bfefa3b8923ed9e8cb5bbb543ee66a79.tar.gz chromium_src-5f8a6316bfefa3b8923ed9e8cb5bbb543ee66a79.tar.bz2 |
Fix ShutdownTest flakiness by opening tabs one at a time.
BUG=46609
TEST=startup_tests should no longer flake out as much
Review URL: http://codereview.chromium.org/2809017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50174 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/startup')
-rw-r--r-- | chrome/test/startup/shutdown_test.cc | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/chrome/test/startup/shutdown_test.cc b/chrome/test/startup/shutdown_test.cc index 9f38cff2..b49fbf1 100644 --- a/chrome/test/startup/shutdown_test.cc +++ b/chrome/test/startup/shutdown_test.cc @@ -15,6 +15,7 @@ #include "chrome/common/env_vars.h" #include "chrome/test/ui/ui_test.h" #include "chrome/test/ui_test_utils.h" +#include "net/base/net_util.h" using base::TimeDelta; @@ -28,7 +29,19 @@ class ShutdownTest : public UITest { void SetUp() {} void TearDown() {} + enum TestSize { + SIMPLE, // Runs with no command line arguments (loads about:blank). + TWENTY_TABS, // Opens 5 copies of 4 different test pages. + }; + void SetUpTwentyTabs() { + int window_count; + ASSERT_TRUE(automation()->GetBrowserWindowCount(&window_count)); + ASSERT_EQ(1, window_count); + scoped_refptr<BrowserProxy> browser_proxy( + automation()->GetBrowserWindow(0)); + ASSERT_TRUE(browser_proxy.get()); + const FilePath kFastShutdownDir(FILE_PATH_LITERAL("fast_shutdown")); const FilePath kCurrentDir(FilePath::kCurrentDirectory); const FilePath test_cases[] = { @@ -45,12 +58,14 @@ class ShutdownTest : public UITest { for (size_t i = 0; i < arraysize(test_cases); i++) { ASSERT_TRUE(file_util::PathExists(test_cases[i])); for (size_t j = 0; j < 5; j++) { - launch_arguments_.AppendLooseValue(test_cases[i].ToWStringHack()); + ASSERT_TRUE(browser_proxy->AppendTab( + net::FilePathToFileURL(test_cases[i]))); } } } - void RunShutdownTest(const char* graph, const char* trace, bool important, + void RunShutdownTest(const char* graph, const char* trace, + bool important, TestSize test_size, UITest::ShutdownType shutdown_type) { const int kNumCyclesMax = 20; int numCycles = kNumCyclesMax; @@ -73,6 +88,9 @@ class ShutdownTest : public UITest { TimeDelta timings[kNumCyclesMax]; for (int i = 0; i < numCycles; ++i) { UITest::SetUp(); + if (test_size == TWENTY_TABS) { + SetUpTwentyTabs(); + } set_shutdown_type(shutdown_type); UITest::TearDown(); timings[i] = browser_quit_time_; @@ -96,54 +114,39 @@ class ShutdownTest : public UITest { TEST_F(ShutdownTest, SimpleWindowClose) { RunShutdownTest("shutdown", "simple-window-close", - true, /* important */ UITest::WINDOW_CLOSE); + true, /* important */ SIMPLE, UITest::WINDOW_CLOSE); } TEST_F(ShutdownTest, SimpleUserQuit) { RunShutdownTest("shutdown", "simple-user-quit", - true, /* important */ UITest::USER_QUIT); + true, /* important */ SIMPLE, UITest::USER_QUIT); } TEST_F(ShutdownTest, SimpleSessionEnding) { RunShutdownTest("shutdown", "simple-session-ending", - true, /* important */ UITest::SESSION_ENDING); + true, /* important */ SIMPLE, UITest::SESSION_ENDING); } -// http://crbug.com/46609 -#if defined(OS_MACOSX) -#define MAYBE_TwentyTabsWindowClose FLAKY_TwentyTabsWindowClose -#define MAYBE_TwentyTabsUserQuit FLAKY_TwentyTabsUserQuit -#else -#define MAYBE_TwentyTabsWindowClose TwentyTabsWindowClose -#define MAYBE_TwentyTabsUserQuit TwentyTabsUserQuit -#endif - -TEST_F(ShutdownTest, MAYBE_TwentyTabsWindowClose) { - SetUpTwentyTabs(); +TEST_F(ShutdownTest, TwentyTabsWindowClose) { RunShutdownTest("shutdown", "twentytabs-window-close", - true, /* important */ UITest::WINDOW_CLOSE); + true, /* important */ TWENTY_TABS, UITest::WINDOW_CLOSE); } -TEST_F(ShutdownTest, MAYBE_TwentyTabsUserQuit) { - SetUpTwentyTabs(); +TEST_F(ShutdownTest, TwentyTabsUserQuit) { RunShutdownTest("shutdown", "twentytabs-user-quit", - true, /* important */ UITest::USER_QUIT); + true, /* important */ TWENTY_TABS, UITest::USER_QUIT); } // http://crbug.com/40671 #if defined(OS_WIN) && !defined(NDEBUG) #define MAYBE_TwentyTabsSessionEnding DISABLED_TwentyTabsSessionEnding -#elif defined(OS_MACOSX) -// http://crbug.com/46609 -#define MAYBE_TwentyTabsSessionEnding FLAKY_TwentyTabsSessionEnding #else #define MAYBE_TwentyTabsSessionEnding TwentyTabsSessionEnding #endif TEST_F(ShutdownTest, MAYBE_TwentyTabsSessionEnding) { - SetUpTwentyTabs(); RunShutdownTest("shutdown", "twentytabs-session-ending", - true, /* important */ UITest::SESSION_ENDING); + true, /* important */ TWENTY_TABS, UITest::SESSION_ENDING); } } // namespace |