| Index: chrome/test/layout_test_http_server.cc
|
| ===================================================================
|
| --- chrome/test/layout_test_http_server.cc (revision 94748)
|
| +++ chrome/test/layout_test_http_server.cc (working copy)
|
| @@ -1,111 +0,0 @@
|
| -// Copyright (c) 2011 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 "chrome/test/layout_test_http_server.h"
|
| -
|
| -#include "base/command_line.h"
|
| -#include "base/logging.h"
|
| -#include "base/path_service.h"
|
| -#include "base/process_util.h"
|
| -#include "base/string_number_conversions.h"
|
| -
|
| -#if defined(OS_WIN)
|
| -#include "base/win/windows_version.h"
|
| -#endif
|
| -
|
| -namespace {
|
| -
|
| -bool PrepareCommandLine(CommandLine* cmd_line) {
|
| - FilePath src_path;
|
| - if (!PathService::Get(base::DIR_SOURCE_ROOT, &src_path))
|
| - return false;
|
| -
|
| - cmd_line->SetProgram(FilePath(FILE_PATH_LITERAL("python")));
|
| -
|
| - FilePath script_path(src_path);
|
| - script_path = script_path.AppendASCII("third_party");
|
| - script_path = script_path.AppendASCII("WebKit");
|
| - script_path = script_path.AppendASCII("Tools");
|
| - script_path = script_path.AppendASCII("Scripts");
|
| - script_path = script_path.AppendASCII("new-run-webkit-httpd");
|
| -
|
| - cmd_line->AppendArgPath(script_path);
|
| - return true;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -LayoutTestHttpServer::LayoutTestHttpServer(const FilePath& root_directory,
|
| - int port)
|
| - : root_directory_(root_directory),
|
| - port_(port),
|
| - running_(false) {
|
| -}
|
| -
|
| -LayoutTestHttpServer::~LayoutTestHttpServer() {
|
| - if (running_ && !Stop())
|
| - LOG(ERROR) << "LayoutTestHttpServer failed to stop.";
|
| -}
|
| -
|
| -bool LayoutTestHttpServer::Start() {
|
| - if (running_) {
|
| - LOG(ERROR) << "LayoutTestHttpServer already running.";
|
| - return false;
|
| - }
|
| -
|
| - CommandLine cmd_line(CommandLine::NO_PROGRAM);
|
| - if (!PrepareCommandLine(&cmd_line))
|
| - return false;
|
| - cmd_line.AppendArg("--server=start");
|
| - cmd_line.AppendArg("--register_cygwin");
|
| - cmd_line.AppendArgNative(FILE_PATH_LITERAL("--root=") +
|
| - root_directory_.value());
|
| - cmd_line.AppendArg("--port=" + base::IntToString(port_));
|
| -
|
| - FilePath layout_tests_dir;
|
| - if (!PathService::Get(base::DIR_SOURCE_ROOT, &layout_tests_dir))
|
| - return false;
|
| - layout_tests_dir = layout_tests_dir.AppendASCII("chrome")
|
| - .AppendASCII("test")
|
| - .AppendASCII("data")
|
| - .AppendASCII("layout_tests")
|
| - .AppendASCII("LayoutTests");
|
| - cmd_line.AppendArgNative(FILE_PATH_LITERAL("--layout_tests_dir=") +
|
| - layout_tests_dir.value());
|
| -
|
| - // For Windows 7, if we start the lighttpd server on the foreground mode,
|
| - // it will mess up with the command window and cause conhost.exe to crash. To
|
| - // work around this, we start the http server on the background mode.
|
| -#if defined(OS_WIN)
|
| - if (base::win::GetVersion() >= base::win::VERSION_WIN7)
|
| - cmd_line.AppendArg("--run_background");
|
| -#endif
|
| -
|
| - // The Python script waits for the server to start responding to requests,
|
| - // then exits. So we want to wait for the Python script to exit before
|
| - // continuing.
|
| - base::LaunchOptions options;
|
| - options.wait = true;
|
| - running_ = base::LaunchProcess(cmd_line, options, NULL);
|
| - return running_;
|
| -}
|
| -
|
| -bool LayoutTestHttpServer::Stop() {
|
| - if (!running_) {
|
| - LOG(ERROR) << "LayoutTestHttpServer not running.";
|
| - return false;
|
| - }
|
| -
|
| - CommandLine cmd_line(CommandLine::NO_PROGRAM);
|
| - if (!PrepareCommandLine(&cmd_line))
|
| - return false;
|
| - cmd_line.AppendArg("--server=stop");
|
| -
|
| - base::LaunchOptions options;
|
| - options.wait = true;
|
| - bool stopped = base::LaunchProcess(cmd_line, options, NULL);
|
| - running_ = !stopped;
|
| - return stopped;
|
| -}
|
| -
|
|
|