| OLD | NEW | 
|   1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |   1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef IPC_IPC_TESTS_H_ |   5 #ifndef IPC_IPC_TESTS_H__ | 
|   6 #define IPC_IPC_TESTS_H_ |   6 #define IPC_IPC_TESTS_H__ | 
|   7 #pragma once |   7 #pragma once | 
|   8  |   8  | 
|   9 #include "base/test/multiprocess_test.h" |   9 #include "base/multiprocess_test.h" | 
|  10 #include "base/process.h" |  10 #include "base/process.h" | 
|  11  |  11  | 
|  12 // This unit test uses 3 types of child processes, a regular pipe client, |  12 // This unit test uses 3 types of child processes, a regular pipe client, | 
|  13 // a client reflector and a IPC server used for fuzzing tests. |  13 // a client reflector and a IPC server used for fuzzing tests. | 
|  14 enum ChildType { |  14 enum ChildType { | 
|  15   TEST_CLIENT, |  15   TEST_CLIENT, | 
|  16   TEST_DESCRIPTOR_CLIENT, |  16   TEST_DESCRIPTOR_CLIENT, | 
|  17   TEST_DESCRIPTOR_CLIENT_SANDBOXED, |  17   TEST_DESCRIPTOR_CLIENT_SANDBOXED, | 
|  18   TEST_REFLECTOR, |  18   TEST_REFLECTOR, | 
|  19   FUZZER_SERVER, |  19   FUZZER_SERVER, | 
|  20   SYNC_SOCKET_SERVER |  20   SYNC_SOCKET_SERVER | 
|  21 }; |  21 }; | 
|  22  |  22  | 
|  23 // The different channel names for the child processes. |  23 // The different channel names for the child processes. | 
|  24 extern const char kTestClientChannel[]; |  24 extern const char kTestClientChannel[]; | 
|  25 extern const char kReflectorChannel[]; |  25 extern const char kReflectorChannel[]; | 
|  26 extern const char kFuzzerChannel[]; |  26 extern const char kFuzzerChannel[]; | 
|  27 extern const char kSyncSocketChannel[]; |  27 extern const char kSyncSocketChannel[]; | 
|  28  |  28  | 
|  29 class MessageLoopForIO; |  29 class MessageLoopForIO; | 
|  30 namespace IPC { |  30 namespace IPC { | 
|  31 class Channel; |  31 class Channel; | 
|  32 }  // namespace IPC |  32 }  // namespace IPC | 
|  33  |  33  | 
|  34 //Base class to facilitate Spawning IPC Client processes. |  34 //Base class to facilitate Spawning IPC Client processes. | 
|  35 class IPCChannelTest : public base::MultiProcessTest { |  35 class IPCChannelTest : public MultiProcessTest { | 
|  36  protected: |  36  protected: | 
|  37  |  37  | 
|  38   // Create a new MessageLoopForIO For each test. |  38   // Create a new MessageLoopForIO For each test. | 
|  39   virtual void SetUp(); |  39   virtual void SetUp(); | 
|  40   virtual void TearDown(); |  40   virtual void TearDown(); | 
|  41  |  41  | 
|  42   // Spawns a child process of the specified type |  42   // Spawns a child process of the specified type | 
|  43   base::ProcessHandle SpawnChild(ChildType child_type, IPC::Channel* channel); |  43   base::ProcessHandle SpawnChild(ChildType child_type, IPC::Channel* channel); | 
|  44  |  44  | 
|  45   // Created around each test instantiation. |  45   // Created around each test instantiation. | 
|  46   MessageLoopForIO* message_loop_; |  46   MessageLoopForIO* message_loop_; | 
|  47 }; |  47 }; | 
|  48  |  48  | 
|  49 #endif  // IPC_IPC_TESTS_H_ |  49 #endif  // IPC_IPC_TESTS_H__ | 
| OLD | NEW |