| Index: base/test/perf_test_suite.h
 | 
| ===================================================================
 | 
| --- base/test/perf_test_suite.h	(revision 55415)
 | 
| +++ base/test/perf_test_suite.h	(working copy)
 | 
| @@ -1,4 +1,4 @@
 | 
| -// Copyright (c) 2010 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.
 | 
|  
 | 
| @@ -6,22 +6,44 @@
 | 
|  #define BASE_TEST_PERF_TEST_SUITE_H_
 | 
|  #pragma once
 | 
|  
 | 
| -#include "base/basictypes.h"
 | 
| +#include "base/command_line.h"
 | 
| +#include "base/debug_util.h"
 | 
| +#include "base/file_path.h"
 | 
| +#include "base/perftimer.h"
 | 
| +#include "base/process_util.h"
 | 
| +#include "base/string_util.h"
 | 
|  #include "base/test/test_suite.h"
 | 
|  
 | 
| -namespace base {
 | 
| -
 | 
|  class PerfTestSuite : public TestSuite {
 | 
|   public:
 | 
| -  PerfTestSuite(int argc, char** argv);
 | 
| +  PerfTestSuite(int argc, char** argv) : TestSuite(argc, argv) {
 | 
| +  }
 | 
|  
 | 
| -  virtual void Initialize();
 | 
| -  virtual void Shutdown();
 | 
| +  virtual void Initialize() {
 | 
| +    TestSuite::Initialize();
 | 
|  
 | 
| - private:
 | 
| -  DISALLOW_COPY_AND_ASSIGN(PerfTestSuite);
 | 
| +    // 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();
 | 
| +  }
 | 
| +
 | 
| +  virtual void Shutdown() {
 | 
| +    TestSuite::Shutdown();
 | 
| +
 | 
| +    FinalizePerfLog();
 | 
| +  }
 | 
|  };
 | 
|  
 | 
| -}  // namespace base
 | 
| -
 | 
|  #endif  // BASE_TEST_PERF_TEST_SUITE_H_
 | 
| 
 |