| Index: chrome/test/browser/browser_test_launcher_out_of_proc.cc
|
| ===================================================================
|
| --- chrome/test/browser/browser_test_launcher_out_of_proc.cc (revision 25792)
|
| +++ chrome/test/browser/browser_test_launcher_out_of_proc.cc (working copy)
|
| @@ -1,88 +0,0 @@
|
| -// 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.
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/command_line.h"
|
| -#include "base/logging.h"
|
| -#include "base/process_util.h"
|
| -
|
| -#include "chrome/test/browser/browser_test_runner.h"
|
| -#include "chrome/test/unit/chrome_test_suite.h"
|
| -
|
| -// This version of the browser test launcher forks a new process for each test
|
| -// it runs.
|
| -
|
| -namespace {
|
| -
|
| -const wchar_t* const kGTestListTestsFlag = L"gtest_list_tests";
|
| -const wchar_t* const kChildProcessFlag = L"child";
|
| -
|
| -class OutOfProcBrowserTestRunner : public browser_tests::BrowserTestRunner {
|
| - public:
|
| - OutOfProcBrowserTestRunner() {
|
| - }
|
| -
|
| - virtual ~OutOfProcBrowserTestRunner() {
|
| - }
|
| -
|
| - bool Init() {
|
| - return true;
|
| - }
|
| -
|
| - // Returns true if the test succeeded, false if it failed.
|
| - bool RunTest(const std::string& test_name) {
|
| - const CommandLine* cmd_line = CommandLine::ForCurrentProcess();
|
| - CommandLine new_cmd_line(cmd_line->argv());
|
| - // Always enable disabled tests. This method is not called with disabled
|
| - // tests unless this flag was specified to the browser test executable.
|
| - new_cmd_line.AppendSwitch(L"gtest_also_run_disabled_tests");
|
| - new_cmd_line.AppendSwitchWithValue(L"gtest_filter", ASCIIToWide(test_name));
|
| - new_cmd_line.AppendSwitch(kChildProcessFlag);
|
| -
|
| - base::ProcessHandle process_handle;
|
| - bool r = base::LaunchApp(new_cmd_line, false, false, &process_handle);
|
| - if (!r)
|
| - return false;
|
| -
|
| - int exit_code = 0;
|
| - r = base::WaitForExitCode(process_handle, &exit_code);
|
| - if (!r)
|
| - return false;
|
| -
|
| - return exit_code == 0;
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(OutOfProcBrowserTestRunner);
|
| -};
|
| -
|
| -class OutOfProcBrowserTestRunnerFactory
|
| - : public browser_tests::BrowserTestRunnerFactory {
|
| - public:
|
| - OutOfProcBrowserTestRunnerFactory() { }
|
| -
|
| - virtual browser_tests::BrowserTestRunner* CreateBrowserTestRunner() const {
|
| - return new OutOfProcBrowserTestRunner();
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(OutOfProcBrowserTestRunnerFactory);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -int main(int argc, char** argv) {
|
| - CommandLine::Init(argc, argv);
|
| - const CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| -
|
| - if (command_line->HasSwitch(kChildProcessFlag))
|
| - return ChromeTestSuite(argc, argv).Run();
|
| -
|
| - if (command_line->HasSwitch(kGTestListTestsFlag))
|
| - return ChromeTestSuite(argc, argv).Run();
|
| -
|
| - OutOfProcBrowserTestRunnerFactory test_runner_factory;
|
| - return browser_tests::RunTests(test_runner_factory) ? 0 : 1;
|
| -}
|
|
|
|
|