OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "components/nacl/loader/nacl_ipc_adapter.h" | 5 #include "components/nacl/loader/nacl_ipc_adapter.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 // destroyed on the right thread. | 68 // destroyed on the right thread. |
69 IPC::TestSink* sink_; | 69 IPC::TestSink* sink_; |
70 }; | 70 }; |
71 | 71 |
72 } // namespace | 72 } // namespace |
73 | 73 |
74 // Tests a simple message getting rewritten sent from native code to NaCl. | 74 // Tests a simple message getting rewritten sent from native code to NaCl. |
75 TEST_F(NaClIPCAdapterTest, SimpleReceiveRewriting) { | 75 TEST_F(NaClIPCAdapterTest, SimpleReceiveRewriting) { |
76 int routing_id = 0x89898989; | 76 int routing_id = 0x89898989; |
77 uint32 type = 0x55555555; | 77 uint32 type = 0x55555555; |
78 IPC::Message input(routing_id, type); | 78 IPC::Message input(routing_id, type, IPC::Message::PRIORITY_NORMAL); |
79 uint32 flags = input.flags(); | 79 uint32 flags = input.flags(); |
80 | 80 |
81 int value = 0x12345678; | 81 int value = 0x12345678; |
82 input.WriteInt(value); | 82 input.WriteInt(value); |
83 adapter_->OnMessageReceived(input); | 83 adapter_->OnMessageReceived(input); |
84 | 84 |
85 // Buffer just need to be big enough for our message with one int. | 85 // Buffer just need to be big enough for our message with one int. |
86 const int kBufSize = 64; | 86 const int kBufSize = 64; |
87 char buf[kBufSize]; | 87 char buf[kBufSize]; |
88 | 88 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 msg = sink_->GetMessageAt(0); | 168 msg = sink_->GetMessageAt(0); |
169 EXPECT_EQ(sizeof(int), msg->payload_size()); | 169 EXPECT_EQ(sizeof(int), msg->payload_size()); |
170 EXPECT_EQ(header->routing, msg->routing_id()); | 170 EXPECT_EQ(header->routing, msg->routing_id()); |
171 EXPECT_EQ(header->type, msg->type()); | 171 EXPECT_EQ(header->type, msg->type()); |
172 } | 172 } |
173 | 173 |
174 // Tests when a buffer is too small to receive the entire message. | 174 // Tests when a buffer is too small to receive the entire message. |
175 TEST_F(NaClIPCAdapterTest, PartialReceive) { | 175 TEST_F(NaClIPCAdapterTest, PartialReceive) { |
176 int routing_id_1 = 0x89898989; | 176 int routing_id_1 = 0x89898989; |
177 uint32 type_1 = 0x55555555; | 177 uint32 type_1 = 0x55555555; |
178 IPC::Message input_1(routing_id_1, type_1); | 178 IPC::Message input_1(routing_id_1, type_1, IPC::Message::PRIORITY_NORMAL); |
179 int value_1 = 0x12121212; | 179 int value_1 = 0x12121212; |
180 input_1.WriteInt(value_1); | 180 input_1.WriteInt(value_1); |
181 adapter_->OnMessageReceived(input_1); | 181 adapter_->OnMessageReceived(input_1); |
182 | 182 |
183 int routing_id_2 = 0x90909090; | 183 int routing_id_2 = 0x90909090; |
184 uint32 type_2 = 0x66666666; | 184 uint32 type_2 = 0x66666666; |
185 IPC::Message input_2(routing_id_2, type_2); | 185 IPC::Message input_2(routing_id_2, type_2, IPC::Message::PRIORITY_NORMAL); |
186 int value_2 = 0x23232323; | 186 int value_2 = 0x23232323; |
187 input_2.WriteInt(value_2); | 187 input_2.WriteInt(value_2); |
188 adapter_->OnMessageReceived(input_2); | 188 adapter_->OnMessageReceived(input_2); |
189 | 189 |
190 const int kBufSize = 64; | 190 const int kBufSize = 64; |
191 char buf[kBufSize]; | 191 char buf[kBufSize]; |
192 | 192 |
193 // Read part of the first message. | 193 // Read part of the first message. |
194 int bytes_requested = 7; | 194 int bytes_requested = 7; |
195 int bytes_read = BlockingReceive(buf, bytes_requested); | 195 int bytes_read = BlockingReceive(buf, bytes_requested); |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 EXPECT_EQ(NACL_ABI_O_RDONLY, | 348 EXPECT_EQ(NACL_ABI_O_RDONLY, |
349 TranslatePepperFileReadWriteOpenFlagsForTesting( | 349 TranslatePepperFileReadWriteOpenFlagsForTesting( |
350 PP_FILEOPENFLAG_CREATE)); | 350 PP_FILEOPENFLAG_CREATE)); |
351 EXPECT_EQ(NACL_ABI_O_RDONLY, | 351 EXPECT_EQ(NACL_ABI_O_RDONLY, |
352 TranslatePepperFileReadWriteOpenFlagsForTesting( | 352 TranslatePepperFileReadWriteOpenFlagsForTesting( |
353 PP_FILEOPENFLAG_TRUNCATE)); | 353 PP_FILEOPENFLAG_TRUNCATE)); |
354 EXPECT_EQ(NACL_ABI_O_RDONLY, | 354 EXPECT_EQ(NACL_ABI_O_RDONLY, |
355 TranslatePepperFileReadWriteOpenFlagsForTesting( | 355 TranslatePepperFileReadWriteOpenFlagsForTesting( |
356 PP_FILEOPENFLAG_EXCLUSIVE)); | 356 PP_FILEOPENFLAG_EXCLUSIVE)); |
357 } | 357 } |
OLD | NEW |