summaryrefslogtreecommitdiffstats
path: root/base/multiprocess_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/multiprocess_test.h')
-rw-r--r--base/multiprocess_test.h31
1 files changed, 12 insertions, 19 deletions
diff --git a/base/multiprocess_test.h b/base/multiprocess_test.h
index 4f3200e..99c2c79 100644
--- a/base/multiprocess_test.h
+++ b/base/multiprocess_test.h
@@ -81,7 +81,6 @@ class MultiProcessTest : public PlatformTest {
bool debug_on_start) {
return SpawnChildImpl(procname, fds_to_map, debug_on_start);
}
-
#endif
private:
@@ -89,37 +88,31 @@ class MultiProcessTest : public PlatformTest {
base::ProcessHandle SpawnChildImpl(
const std::wstring& procname,
bool debug_on_start) {
- CommandLine cl;
+ CommandLine cl(*CommandLine::ForCurrentProcess());
base::ProcessHandle handle = static_cast<base::ProcessHandle>(NULL);
- std::wstring clstr = cl.command_line_string();
- CommandLine::AppendSwitchWithValue(&clstr, kRunClientProcess, procname);
+ cl.AppendSwitchWithValue(kRunClientProcess, procname);
- if (debug_on_start) {
- CommandLine::AppendSwitch(&clstr, switches::kDebugOnStart);
- }
+ if (debug_on_start)
+ cl.AppendSwitch(switches::kDebugOnStart);
- base::LaunchApp(clstr, false, true, &handle);
+ base::LaunchApp(cl, false, true, &handle);
return handle;
}
#elif defined(OS_POSIX)
+ // TODO(port): with the CommandLine refactoring, this code is very similar
+ // to the Windows code. Investigate whether this can be made shorter.
base::ProcessHandle SpawnChildImpl(
const std::wstring& procname,
const base::file_handle_mapping_vector& fds_to_map,
bool debug_on_start) {
- CommandLine cl;
+ CommandLine cl(*CommandLine::ForCurrentProcess());
base::ProcessHandle handle = static_cast<base::ProcessHandle>(NULL);
+ cl.AppendSwitchWithValue(kRunClientProcess, procname);
- std::vector<std::string> clvec(cl.argv());
- std::wstring wswitchstr =
- CommandLine::PrefixedSwitchStringWithValue(kRunClientProcess,
- procname);
- if (debug_on_start) {
- CommandLine::AppendSwitch(&wswitchstr, switches::kDebugOnStart);
- }
+ if (debug_on_start)
+ cl.AppendSwitch(switches::kDebugOnStart);
- std::string switchstr = WideToUTF8(wswitchstr);
- clvec.push_back(switchstr.c_str());
- base::LaunchApp(clvec, fds_to_map, false, &handle);
+ base::LaunchApp(cl.argv(), fds_to_map, false, &handle);
return handle;
}
#endif