| Index: ipc/ipc_tests.h
|
| diff --git a/ipc/ipc_tests.h b/ipc/ipc_tests.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e800883ae7640f28b7df789efaf037207bf9bfcd
|
| --- /dev/null
|
| +++ b/ipc/ipc_tests.h
|
| @@ -0,0 +1,47 @@
|
| +// Copyright (c) 2006-2008 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_TESTS_H__
|
| +#define IPC_IPC_TESTS_H__
|
| +
|
| +#include "base/multiprocess_test.h"
|
| +#include "base/process.h"
|
| +
|
| +// This unit test uses 3 types of child processes, a regular pipe client,
|
| +// a client reflector and a IPC server used for fuzzing tests.
|
| +enum ChildType {
|
| + TEST_CLIENT,
|
| + TEST_DESCRIPTOR_CLIENT,
|
| + TEST_DESCRIPTOR_CLIENT_SANDBOXED,
|
| + TEST_REFLECTOR,
|
| + FUZZER_SERVER
|
| +};
|
| +
|
| +// The different channel names for the child processes.
|
| +extern const char kTestClientChannel[];
|
| +extern const char kReflectorChannel[];
|
| +extern const char kFuzzerChannel[];
|
| +
|
| +class MessageLoopForIO;
|
| +namespace IPC {
|
| +class Channel;
|
| +} // namespace IPC
|
| +
|
| +//Base class to facilitate Spawning IPC Client processes.
|
| +class IPCChannelTest : public MultiProcessTest {
|
| + protected:
|
| +
|
| + // Create a new MessageLoopForIO For each test.
|
| + virtual void SetUp();
|
| + virtual void TearDown();
|
| +
|
| + // Spawns a child process of the specified type
|
| + base::ProcessHandle SpawnChild(ChildType child_type,
|
| + IPC::Channel *channel);
|
| +
|
| + // Created around each test instantiation.
|
| + MessageLoopForIO *message_loop_;
|
| +};
|
| +
|
| +#endif // IPC_IPC_TESTS_H__
|
|
|