Index: net/test/test_server_posix.cc |
diff --git a/net/test/test_server_posix.cc b/net/test/test_server_posix.cc |
index 1456ac89d0ecd92cc440dfcaa14cfe09b7a4439a..707eb93180a9b91595fe8c8b6af24e15746d283d 100644 |
--- a/net/test/test_server_posix.cc |
+++ b/net/test/test_server_posix.cc |
@@ -8,6 +8,7 @@ |
#include <vector> |
+#include "base/command_line.h" |
#include "base/file_util.h" |
#include "base/logging.h" |
#include "base/process_util.h" |
@@ -55,28 +56,12 @@ class OrphanedTestServerFilter : public base::ProcessFilter { |
} // namespace |
namespace net { |
-bool TestServer::LaunchPython(const FilePath& testserver_path) { |
- std::vector<std::string> command_line; |
- command_line.push_back("python"); |
- command_line.push_back(testserver_path.value()); |
- command_line.push_back("--port=" + base::IntToString(host_port_pair_.port())); |
- command_line.push_back("--data-dir=" + document_root_.value()); |
- |
- if (type_ == TYPE_FTP) |
- command_line.push_back("-f"); |
- |
- FilePath certificate_path(GetCertificatePath()); |
- if (!certificate_path.value().empty()) { |
- if (!file_util::PathExists(certificate_path)) { |
- LOG(ERROR) << "Certificate path " << certificate_path.value() |
- << " doesn't exist. Can't launch https server."; |
- return false; |
- } |
- command_line.push_back("--https=" + certificate_path.value()); |
- } |
- if (type_ == TYPE_HTTPS_CLIENT_AUTH) |
- command_line.push_back("--ssl-client-auth"); |
+bool TestServer::LaunchPython(const FilePath& testserver_path) { |
+ CommandLine python_command(FilePath(FILE_PATH_LITERAL("python"))); |
+ python_command.AppendArgPath(testserver_path); |
+ if (!AddCommandLineArguments(&python_command)) |
+ return false; |
int pipefd[2]; |
if (pipe(pipefd) != 0) { |
@@ -91,7 +76,8 @@ bool TestServer::LaunchPython(const FilePath& testserver_path) { |
base::file_handle_mapping_vector map_write_fd; |
map_write_fd.push_back(std::make_pair(pipefd[1], pipefd[1])); |
- command_line.push_back("--startup-pipe=" + base::IntToString(pipefd[1])); |
+ python_command.AppendSwitchASCII("startup-pipe", |
+ base::IntToString(pipefd[1])); |
// Try to kill any orphaned testserver processes that may be running. |
OrphanedTestServerFilter filter(testserver_path.value(), |
@@ -101,8 +87,10 @@ bool TestServer::LaunchPython(const FilePath& testserver_path) { |
} |
// Launch a new testserver process. |
- if (!base::LaunchApp(command_line, map_write_fd, false, &process_handle_)) { |
- LOG(ERROR) << "Failed to launch " << command_line[0] << " ..."; |
+ if (!base::LaunchApp(python_command.argv(), map_write_fd, false, |
+ &process_handle_)) { |
+ LOG(ERROR) << "Failed to launch " << python_command.command_line_string() |
+ << " ..."; |
return false; |
} |