|  | // 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_ |