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 16namespace 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. 22void MultiProcessTestIPCSetUp(); 23 24} // namespace internal 25 26#endif // IPC_IPC_MULTIPROCESS_TEST_H_ 27