| // Copyright (c) 2012 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. | 
 |  | 
 | #ifndef IPC_IPC_MULTIPROCESS_TEST_H_ | 
 | #define IPC_IPC_MULTIPROCESS_TEST_H_ | 
 |  | 
 | #include "testing/multiprocess_func_list.h" | 
 |  | 
 | // Use this macro when your sub-process is using an IPCChannel to communicate | 
 | // with the test process. See the comment below for why this is needed. | 
 | #define MULTIPROCESS_IPC_TEST_MAIN(test_main) \ | 
 |     MULTIPROCESS_TEST_MAIN_WITH_SETUP(test_main, \ | 
 |                                       internal::MultiProcessTestIPCSetUp) | 
 |  | 
 | namespace internal { | 
 |  | 
 | // Setup function used by MULTIPROCESS_IPC_TEST_MAIN. Registers the IPC channel | 
 | // as a global descriptor in the child process. This is needed on POSIX as on | 
 | // creation the IPCChannel looks for a specific global descriptor to establish | 
 | // the connection to the parent process. | 
 | void MultiProcessTestIPCSetUp(); | 
 |  | 
 | }  // namespace internal | 
 |  | 
 | #endif  // IPC_IPC_MULTIPROCESS_TEST_H_ |