Index: chrome/test/perf/shutdown_test.cc |
=================================================================== |
--- chrome/test/perf/shutdown_test.cc (revision 261647) |
+++ chrome/test/perf/shutdown_test.cc (working copy) |
@@ -1,171 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-#include "base/environment.h" |
-#include "base/file_util.h" |
-#include "base/path_service.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "base/strings/stringprintf.h" |
-#include "base/sys_info.h" |
-#include "base/time/time.h" |
-#include "chrome/common/chrome_constants.h" |
-#include "chrome/common/chrome_paths.h" |
-#include "chrome/common/env_vars.h" |
-#include "chrome/test/automation/automation_proxy.h" |
-#include "chrome/test/base/ui_test_utils.h" |
-#include "chrome/test/perf/perf_test.h" |
-#include "chrome/test/ui/ui_perf_test.h" |
-#include "net/base/net_util.h" |
-#include "testing/perf/perf_test.h" |
- |
-using base::TimeDelta; |
- |
-namespace { |
- |
-class ShutdownTest : public UIPerfTest { |
- public: |
- ShutdownTest() { |
- show_window_ = true; |
- } |
- virtual void SetUp() {} |
- virtual 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 base::FilePath kFastShutdownDir(FILE_PATH_LITERAL("fast_shutdown")); |
- const base::FilePath kCurrentDir(base::FilePath::kCurrentDirectory); |
- const base::FilePath test_cases[] = { |
- ui_test_utils::GetTestFilePath(kFastShutdownDir, |
- base::FilePath(FILE_PATH_LITERAL("on_before_unloader.html"))), |
- ui_test_utils::GetTestFilePath(kCurrentDir, |
- base::FilePath(FILE_PATH_LITERAL("animated-gifs.html"))), |
- ui_test_utils::GetTestFilePath(kCurrentDir, |
- base::FilePath(FILE_PATH_LITERAL("french_page.html"))), |
- ui_test_utils::GetTestFilePath(kCurrentDir, |
- base::FilePath(FILE_PATH_LITERAL("setcookie.html"))), |
- }; |
- |
- for (size_t i = 0; i < arraysize(test_cases); i++) { |
- ASSERT_TRUE(base::PathExists(test_cases[i])); |
- for (size_t j = 0; j < 5; j++) { |
- ASSERT_TRUE(browser_proxy->AppendTab( |
- net::FilePathToFileURL(test_cases[i]))); |
- } |
- } |
- } |
- |
- void RunShutdownTest(const char* graph, const char* trace, |
- bool important, TestSize test_size, |
- ProxyLauncher::ShutdownType shutdown_type) { |
-#if defined(NDEBUG) |
- const int kNumCyclesMax = 20; |
-#else |
- // Debug builds are too slow and we can't run that many cycles in a |
- // reasonable amount of time. |
- const int kNumCyclesMax = 10; |
-#endif |
- int numCycles = kNumCyclesMax; |
- scoped_ptr<base::Environment> env(base::Environment::Create()); |
- std::string numCyclesEnv; |
- if (env->GetVar(env_vars::kStartupTestsNumCycles, &numCyclesEnv) && |
- base::StringToInt(numCyclesEnv, &numCycles)) { |
- if (numCycles <= kNumCyclesMax) { |
- VLOG(1) << env_vars::kStartupTestsNumCycles |
- << " set in environment, so setting numCycles to " << numCycles; |
- } else { |
- VLOG(1) << env_vars::kStartupTestsNumCycles |
- << " is higher than the max, setting numCycles to " |
- << kNumCyclesMax; |
- numCycles = kNumCyclesMax; |
- } |
- } |
- |
- 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(); |
- |
- if (i == 0) { |
- // Re-use the profile data after first run so that the noise from |
- // creating databases doesn't impact all the runs. |
- clear_profile_ = false; |
- // Clear template_user_data_ so we don't try to copy it over each time |
- // through. |
- set_template_user_data(base::FilePath()); |
- } |
- } |
- |
- std::string times; |
- for (int i = 0; i < numCycles; ++i) |
- base::StringAppendF(×, "%.2f,", timings[i].InMillisecondsF()); |
- perf_test::PrintResultList( |
- graph, std::string(), trace, times, "ms", important); |
- } |
-}; |
- |
-TEST_F(ShutdownTest, DISABLED_SimpleWindowClose) { |
- RunShutdownTest("shutdown", "simple-window-close", |
- true, /* important */ SIMPLE, ProxyLauncher::WINDOW_CLOSE); |
-} |
- |
-TEST_F(ShutdownTest, SimpleUserQuit) { |
- RunShutdownTest("shutdown", "simple-user-quit", |
- true, /* important */ SIMPLE, ProxyLauncher::USER_QUIT); |
-} |
- |
-TEST_F(ShutdownTest, SimpleSessionEnding) { |
- RunShutdownTest("shutdown", "simple-session-ending", |
- true, /* important */ SIMPLE, ProxyLauncher::SESSION_ENDING); |
-} |
- |
-// http://crbug.com/110471 |
-#if defined(OS_WIN) && !defined(NDEBUG) |
-#define MAYBE_TwentyTabsWindowClose DISABLED_TwentyTabsWindowClose |
-#define MAYBE_TwentyTabsUserQuit DISABLED_TwentyTabsUserQuit |
-#else |
-#define MAYBE_TwentyTabsWindowClose TwentyTabsWindowClose |
-#define MAYBE_TwentyTabsUserQuit TwentyTabsUserQuit |
-#endif |
- |
-TEST_F(ShutdownTest, MAYBE_TwentyTabsWindowClose) { |
- RunShutdownTest("shutdown", "twentytabs-window-close", |
- true, /* important */ TWENTY_TABS, |
- ProxyLauncher::WINDOW_CLOSE); |
-} |
- |
-TEST_F(ShutdownTest, MAYBE_TwentyTabsUserQuit) { |
- RunShutdownTest("shutdown", "twentytabs-user-quit", |
- true, /* important */ TWENTY_TABS, ProxyLauncher::USER_QUIT); |
-} |
- |
-// http://crbug.com/40671 |
-#if defined(OS_WIN) && !defined(NDEBUG) |
-#define MAYBE_TwentyTabsSessionEnding DISABLED_TwentyTabsSessionEnding |
-#else |
-#define MAYBE_TwentyTabsSessionEnding TwentyTabsSessionEnding |
-#endif |
- |
-TEST_F(ShutdownTest, MAYBE_TwentyTabsSessionEnding) { |
- RunShutdownTest("shutdown", "twentytabs-session-ending", |
- true, /* important */ TWENTY_TABS, |
- ProxyLauncher::SESSION_ENDING); |
-} |
- |
-} // namespace |