diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-10 00:21:35 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-10 00:21:35 +0000 |
commit | 99cc51e28aa075dec3a999a406db7d062666321a (patch) | |
tree | 33b6032fb47232d1f7aa28ddf03c808085e34e10 /base/test/perf_test_suite.cc | |
parent | d41af62c7ed4221f5dfe65e017f5d408493d5001 (diff) | |
download | chromium_src-99cc51e28aa075dec3a999a406db7d062666321a.zip chromium_src-99cc51e28aa075dec3a999a406db7d062666321a.tar.gz chromium_src-99cc51e28aa075dec3a999a406db7d062666321a.tar.bz2 |
Move PerfTestSuite implementation into a .cc file and add it to the base
namespace.
TEST=it compiles
BUG=none
Review URL: http://codereview.chromium.org/3695001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62095 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/test/perf_test_suite.cc')
-rw-r--r-- | base/test/perf_test_suite.cc | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/base/test/perf_test_suite.cc b/base/test/perf_test_suite.cc new file mode 100644 index 0000000..b787add --- /dev/null +++ b/base/test/perf_test_suite.cc @@ -0,0 +1,46 @@ +// Copyright (c) 2010 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/test/perf_test_suite.h" + +#include "base/command_line.h" +#include "base/debug_util.h" +#include "base/file_path.h" +#include "base/path_service.h" +#include "base/perftimer.h" +#include "base/process_util.h" +#include "base/string_util.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace base { + +PerfTestSuite::PerfTestSuite(int argc, char** argv) : TestSuite(argc, argv) { +} + +void PerfTestSuite::Initialize() { + TestSuite::Initialize(); + + // Initialize the perf timer log + FilePath log_path = + CommandLine::ForCurrentProcess()->GetSwitchValuePath("log-file"); + if (log_path.empty()) { + FilePath exe; + PathService::Get(base::FILE_EXE, &exe); + log_path = exe.ReplaceExtension(FILE_PATH_LITERAL("log")); + log_path = log_path.InsertBeforeExtension(FILE_PATH_LITERAL("_perf")); + } + ASSERT_TRUE(InitPerfLog(log_path)); + + // Raise to high priority to have more precise measurements. Since we don't + // aim at 1% precision, it is not necessary to run at realtime level. + if (!DebugUtil::BeingDebugged()) + base::RaiseProcessToHighPriority(); +} + +void PerfTestSuite::Shutdown() { + TestSuite::Shutdown(); + FinalizePerfLog(); +} + +} // namespace base |