OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if defined(OS_WIN) | 5 #if defined(OS_WIN) |
6 #include <windows.h> | 6 #include <windows.h> |
7 #endif | 7 #endif |
8 #include <stdio.h> | 8 #include <stdio.h> |
9 #include <iostream> | 9 #include <iostream> |
10 #include <string> | 10 #include <string> |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 delete message_loop_; | 45 delete message_loop_; |
46 message_loop_ = NULL; | 46 message_loop_ = NULL; |
47 | 47 |
48 MultiProcessTest::TearDown(); | 48 MultiProcessTest::TearDown(); |
49 } | 49 } |
50 | 50 |
51 #if defined(OS_WIN) | 51 #if defined(OS_WIN) |
52 base::ProcessHandle IPCChannelTest::SpawnChild(ChildType child_type, | 52 base::ProcessHandle IPCChannelTest::SpawnChild(ChildType child_type, |
53 IPC::Channel *channel) { | 53 IPC::Channel *channel) { |
54 // kDebugChildren support. | 54 // kDebugChildren support. |
55 bool debug_on_start = CommandLine().HasSwitch(switches::kDebugChildren); | 55 bool debug_on_start = |
| 56 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugChildren); |
56 | 57 |
57 switch (child_type) { | 58 switch (child_type) { |
58 case TEST_CLIENT: | 59 case TEST_CLIENT: |
59 return MultiProcessTest::SpawnChild(L"RunTestClient", debug_on_start); | 60 return MultiProcessTest::SpawnChild(L"RunTestClient", debug_on_start); |
60 break; | 61 break; |
61 case TEST_REFLECTOR: | 62 case TEST_REFLECTOR: |
62 return MultiProcessTest::SpawnChild(L"RunReflector", debug_on_start); | 63 return MultiProcessTest::SpawnChild(L"RunReflector", debug_on_start); |
63 break; | 64 break; |
64 case FUZZER_SERVER: | 65 case FUZZER_SERVER: |
65 return MultiProcessTest::SpawnChild(L"RunFuzzServer", debug_on_start); | 66 return MultiProcessTest::SpawnChild(L"RunFuzzServer", debug_on_start); |
66 break; | 67 break; |
67 default: | 68 default: |
68 return NULL; | 69 return NULL; |
69 break; | 70 break; |
70 } | 71 } |
71 } | 72 } |
72 #elif defined(OS_POSIX) | 73 #elif defined(OS_POSIX) |
73 base::ProcessHandle IPCChannelTest::SpawnChild(ChildType child_type, | 74 base::ProcessHandle IPCChannelTest::SpawnChild(ChildType child_type, |
74 IPC::Channel *channel) { | 75 IPC::Channel *channel) { |
75 // kDebugChildren support. | 76 // kDebugChildren support. |
76 bool debug_on_start = CommandLine().HasSwitch(switches::kDebugChildren); | 77 bool debug_on_start = |
| 78 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugChildren); |
77 | 79 |
78 base::file_handle_mapping_vector fds_to_map; | 80 base::file_handle_mapping_vector fds_to_map; |
79 int src_fd; | 81 int src_fd; |
80 int dest_fd; | 82 int dest_fd; |
81 channel->GetClientFileDescriptorMapping(&src_fd, &dest_fd); | 83 channel->GetClientFileDescriptorMapping(&src_fd, &dest_fd); |
82 if (src_fd > -1) { | 84 if (src_fd > -1) { |
83 fds_to_map.push_back(std::pair<int,int>(src_fd, dest_fd)); | 85 fds_to_map.push_back(std::pair<int,int>(src_fd, dest_fd)); |
84 } | 86 } |
85 | 87 |
86 base::ProcessHandle ret = NULL; | 88 base::ProcessHandle ret = NULL; |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 options.message_loop_type = MessageLoop::TYPE_IO; | 220 options.message_loop_type = MessageLoop::TYPE_IO; |
219 thread.StartWithOptions(options); | 221 thread.StartWithOptions(options); |
220 { | 222 { |
221 // setup IPC channel proxy | 223 // setup IPC channel proxy |
222 IPC::ChannelProxy chan(kTestClientChannel, IPC::Channel::MODE_SERVER, | 224 IPC::ChannelProxy chan(kTestClientChannel, IPC::Channel::MODE_SERVER, |
223 &channel_listener, NULL, thread.message_loop()); | 225 &channel_listener, NULL, thread.message_loop()); |
224 | 226 |
225 channel_listener.Init(&chan); | 227 channel_listener.Init(&chan); |
226 | 228 |
227 #if defined(OS_WIN) | 229 #if defined(OS_WIN) |
228 base::ProcessHandle process_handle = SpawnChild(TEST_CLIENT, NULL); | 230 base::ProcessHandle process_handle = SpawnChild(TEST_CLIENT, NULL); |
229 #elif defined(OS_POSIX) | 231 #elif defined(OS_POSIX) |
230 bool debug_on_start = CommandLine().HasSwitch(switches::kDebugChildren); | 232 bool debug_on_start = CommandLine::ForCurrentProcess()->HasSwitch( |
| 233 switches::kDebugChildren); |
231 base::file_handle_mapping_vector fds_to_map; | 234 base::file_handle_mapping_vector fds_to_map; |
232 int src_fd; | 235 int src_fd; |
233 int dest_fd; | 236 int dest_fd; |
234 chan.GetClientFileDescriptorMapping(&src_fd, &dest_fd); | 237 chan.GetClientFileDescriptorMapping(&src_fd, &dest_fd); |
235 if (src_fd > -1) { | 238 if (src_fd > -1) { |
236 fds_to_map.push_back(std::pair<int,int>(src_fd, dest_fd)); | 239 fds_to_map.push_back(std::pair<int,int>(src_fd, dest_fd)); |
237 } | 240 } |
238 | 241 |
239 base::ProcessHandle process_handle = MultiProcessTest::SpawnChild( | 242 base::ProcessHandle process_handle = MultiProcessTest::SpawnChild( |
240 L"RunTestClient", | 243 L"RunTestClient", |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 #endif // PERFORMANCE_TEST | 438 #endif // PERFORMANCE_TEST |
436 | 439 |
437 int main(int argc, char** argv) { | 440 int main(int argc, char** argv) { |
438 #ifdef PERFORMANCE_TEST | 441 #ifdef PERFORMANCE_TEST |
439 int retval = PerfTestSuite(argc, argv).Run(); | 442 int retval = PerfTestSuite(argc, argv).Run(); |
440 #else | 443 #else |
441 int retval = TestSuite(argc, argv).Run(); | 444 int retval = TestSuite(argc, argv).Run(); |
442 #endif | 445 #endif |
443 return retval; | 446 return retval; |
444 } | 447 } |
OLD | NEW |