| 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
|
|
|