summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-14 01:10:24 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-14 01:10:24 +0000
commita40ca43033ac86cc3224d843c233a71e94e72dbf (patch)
tree3172d0bd0d9430a8f155df047c6b14d188557abc /net
parentdc09efb7dd87597a7e4b5fe790d0ce3a2511380e (diff)
downloadchromium_src-a40ca43033ac86cc3224d843c233a71e94e72dbf.zip
chromium_src-a40ca43033ac86cc3224d843c233a71e94e72dbf.tar.gz
chromium_src-a40ca43033ac86cc3224d843c233a71e94e72dbf.tar.bz2
Consolidate most CommandLine code across platforms.
Significant refactoring with some notable behavior changes: 1. Switches are appended preceding existing arguments (after other swtiches). 2. (Windows) command_line_string() is generated and properly quoted/escaped. 3. Appended switches will retain their (optional) included prefixes (--,-,/). Notable internal changes (shouldn't affect behavior): 1. (Windows) Generate the cl string, instead of storing&updating the original. 2. Explicitly retain switch prefixes (--,-,/) (was automatic in init*/ctor). Update (obvious) code expecting switches to be appended antecedent to args. Add Nico's test from: codereview.chromium.org/6728016/. An intermediary CL landed between patch set 3 and 4, see: http://codereview.chromium.org/6596020 BUG=73195,67764 TEST=Commandline usage. Review URL: http://codereview.chromium.org/6526040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85360 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/test/test_server.cc25
-rw-r--r--net/test/test_server_posix.cc5
-rw-r--r--net/test/test_server_win.cc3
3 files changed, 17 insertions, 16 deletions
diff --git a/net/test/test_server.cc b/net/test/test_server.cc
index 528d08e..bd24f73 100644
--- a/net/test/test_server.cc
+++ b/net/test/test_server.cc
@@ -342,9 +342,10 @@ bool TestServer::LoadTestRootCert() {
}
bool TestServer::AddCommandLineArguments(CommandLine* command_line) const {
- command_line->AppendSwitchASCII("port",
- base::IntToString(host_port_pair_.port()));
- command_line->AppendSwitchPath("data-dir", document_root_);
+ command_line->AppendArg("--port=" +
+ base::IntToString(host_port_pair_.port()));
+ command_line->AppendArgNative(FILE_PATH_LITERAL("--data-dir=") +
+ document_root_.value());
if (logging::GetMinLogLevel() == logging::LOG_VERBOSE) {
command_line->AppendArg("--log-to-console");
@@ -363,10 +364,11 @@ bool TestServer::AddCommandLineArguments(CommandLine* command_line) const {
<< " doesn't exist. Can't launch https server.";
return false;
}
- command_line->AppendSwitchPath("https", certificate_path);
+ command_line->AppendArgNative(FILE_PATH_LITERAL("--https=") +
+ certificate_path.value());
if (https_options_.request_client_certificate)
- command_line->AppendSwitch("ssl-client-auth");
+ command_line->AppendArg("--ssl-client-auth");
for (std::vector<FilePath>::const_iterator it =
https_options_.client_authorities.begin();
@@ -377,18 +379,19 @@ bool TestServer::AddCommandLineArguments(CommandLine* command_line) const {
return false;
}
- command_line->AppendSwitchPath("ssl-client-ca", *it);
+ command_line->AppendArgNative(FILE_PATH_LITERAL("--ssl-client-ca=") +
+ it->value());
}
- const char kBulkCipherSwitch[] = "ssl-bulk-cipher";
+ const std::string kBulkCipherSwitch("--ssl-bulk-cipher");
if (https_options_.bulk_ciphers & HTTPSOptions::BULK_CIPHER_RC4)
- command_line->AppendSwitchASCII(kBulkCipherSwitch, "rc4");
+ command_line->AppendArg(kBulkCipherSwitch + "=rc4");
if (https_options_.bulk_ciphers & HTTPSOptions::BULK_CIPHER_AES128)
- command_line->AppendSwitchASCII(kBulkCipherSwitch, "aes128");
+ command_line->AppendArg(kBulkCipherSwitch + "=aes128");
if (https_options_.bulk_ciphers & HTTPSOptions::BULK_CIPHER_AES256)
- command_line->AppendSwitchASCII(kBulkCipherSwitch, "aes256");
+ command_line->AppendArg(kBulkCipherSwitch + "=aes256");
if (https_options_.bulk_ciphers & HTTPSOptions::BULK_CIPHER_3DES)
- command_line->AppendSwitchASCII(kBulkCipherSwitch, "3des");
+ command_line->AppendArg(kBulkCipherSwitch + "=3des");
}
return true;
diff --git a/net/test/test_server_posix.cc b/net/test/test_server_posix.cc
index de42fb3..10e5b8b 100644
--- a/net/test/test_server_posix.cc
+++ b/net/test/test_server_posix.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// 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.
@@ -112,8 +112,7 @@ 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]));
- python_command.AppendSwitchASCII("startup-pipe",
- base::IntToString(pipefd[1]));
+ python_command.AppendArg("--startup-pipe=" + base::IntToString(pipefd[1]));
// Try to kill any orphaned testserver processes that may be running.
OrphanedTestServerFilter filter(testserver_path.value(),
diff --git a/net/test/test_server_win.cc b/net/test/test_server_win.cc
index 9fc13cd..96c899e 100644
--- a/net/test/test_server_win.cc
+++ b/net/test/test_server_win.cc
@@ -176,8 +176,7 @@ bool TestServer::LaunchPython(const FilePath& testserver_path) {
// safe to truncate the handle (when passing it from 64-bit to
// 32-bit) or sign-extend the handle (when passing it from 32-bit to
// 64-bit)."
- python_command.AppendSwitchASCII(
- "startup-pipe",
+ python_command.AppendArg("--startup-pipe=" +
base::IntToString(reinterpret_cast<uintptr_t>(child_write)));
if (!LaunchTestServerAsJob(python_command,