Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(457)

Side by Side Diff: chrome/nacl/nacl_ipc_adapter_unittest.cc

Issue 10919023: Add async trace events to trace progress of IPC messages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix SpellCheckProviderTest.MultiLineText Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | ipc/ipc_channel_nacl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "chrome/nacl/nacl_ipc_adapter.h" 5 #include "chrome/nacl/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.h" 10 #include "base/message_loop.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 IPC::TestSink* sink_; 67 IPC::TestSink* sink_;
68 }; 68 };
69 69
70 } // namespace 70 } // namespace
71 71
72 // Tests a simple message getting rewritten sent from native code to NaCl. 72 // Tests a simple message getting rewritten sent from native code to NaCl.
73 TEST_F(NaClIPCAdapterTest, SimpleReceiveRewriting) { 73 TEST_F(NaClIPCAdapterTest, SimpleReceiveRewriting) {
74 int routing_id = 0x89898989; 74 int routing_id = 0x89898989;
75 uint32 type = 0x55555555; 75 uint32 type = 0x55555555;
76 IPC::Message input(routing_id, type, IPC::Message::PRIORITY_NORMAL); 76 IPC::Message input(routing_id, type, IPC::Message::PRIORITY_NORMAL);
77 uint32 flags = input.flags();
77 78
78 int value = 0x12345678; 79 int value = 0x12345678;
79 input.WriteInt(value); 80 input.WriteInt(value);
80 adapter_->OnMessageReceived(input); 81 adapter_->OnMessageReceived(input);
81 82
82 // Buffer just need to be big enough for our message with one int. 83 // Buffer just need to be big enough for our message with one int.
83 const int kBufSize = 64; 84 const int kBufSize = 64;
84 char buf[kBufSize]; 85 char buf[kBufSize];
85 86
86 int bytes_read = BlockingReceive(buf, kBufSize); 87 int bytes_read = BlockingReceive(buf, kBufSize);
87 EXPECT_EQ(sizeof(NaClIPCAdapter::NaClMessageHeader) + sizeof(int), 88 EXPECT_EQ(sizeof(NaClIPCAdapter::NaClMessageHeader) + sizeof(int),
88 static_cast<size_t>(bytes_read)); 89 static_cast<size_t>(bytes_read));
89 90
90 const NaClIPCAdapter::NaClMessageHeader* output_header = 91 const NaClIPCAdapter::NaClMessageHeader* output_header =
91 reinterpret_cast<const NaClIPCAdapter::NaClMessageHeader*>(buf); 92 reinterpret_cast<const NaClIPCAdapter::NaClMessageHeader*>(buf);
92 EXPECT_EQ(sizeof(int), output_header->payload_size); 93 EXPECT_EQ(sizeof(int), output_header->payload_size);
93 EXPECT_EQ(routing_id, output_header->routing); 94 EXPECT_EQ(routing_id, output_header->routing);
94 EXPECT_EQ(type, output_header->type); 95 EXPECT_EQ(type, output_header->type);
95 EXPECT_EQ(static_cast<uint32>(IPC::Message::PRIORITY_NORMAL), 96 EXPECT_EQ(flags, output_header->flags);
96 output_header->flags);
97 EXPECT_EQ(0u, output_header->num_fds); 97 EXPECT_EQ(0u, output_header->num_fds);
98 EXPECT_EQ(0u, output_header->pad); 98 EXPECT_EQ(0u, output_header->pad);
99 99
100 // Validate the payload. 100 // Validate the payload.
101 EXPECT_EQ(value, 101 EXPECT_EQ(value,
102 *reinterpret_cast<const int*>(&buf[ 102 *reinterpret_cast<const int*>(&buf[
103 sizeof(NaClIPCAdapter::NaClMessageHeader)])); 103 sizeof(NaClIPCAdapter::NaClMessageHeader)]));
104 } 104 }
105 105
106 // Tests a simple message getting rewritten sent from NaCl to native code. 106 // Tests a simple message getting rewritten sent from NaCl to native code.
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 EXPECT_EQ(-1, result); 299 EXPECT_EQ(-1, result);
300 300
301 // Test the "previously had an error" case. BlockingReceive should return 301 // Test the "previously had an error" case. BlockingReceive should return
302 // immediately if there was an error. 302 // immediately if there was an error.
303 result = BlockingReceive(buf, kBufSize); 303 result = BlockingReceive(buf, kBufSize);
304 EXPECT_EQ(-1, result); 304 EXPECT_EQ(-1, result);
305 305
306 thread.Join(); 306 thread.Join();
307 } 307 }
308 308
OLDNEW
« no previous file with comments | « no previous file | ipc/ipc_channel_nacl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698