summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_multiprocess_test.h
blob: 43aaa6b6cd31ed9f730bedeed09d21905c7639fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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_