1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef IPC_IPC_MULTIPROCESS_TEST_H_ 6 #define IPC_IPC_MULTIPROCESS_TEST_H_ 7 8 #include "testing/multiprocess_func_list.h" 9 10 // Use this macro when your sub-process is using an IPCChannel to communicate 11 // with the test process. See the comment below for why this is needed. 12 #define MULTIPROCESS_IPC_TEST_MAIN(test_main) \ 13 MULTIPROCESS_TEST_MAIN_WITH_SETUP(test_main, \ 14 internal::MultiProcessTestIPCSetUp) 15 16 namespace internal { 17 18 // Setup function used by MULTIPROCESS_IPC_TEST_MAIN. Registers the IPC channel 19 // as a global descriptor in the child process. This is needed on POSIX as on 20 // creation the IPCChannel looks for a specific global descriptor to establish 21 // the connection to the parent process. 22 void MultiProcessTestIPCSetUp(); 23 24 } // namespace internal 25 26 #endif // IPC_IPC_MULTIPROCESS_TEST_H_ 27