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

Side by Side Diff: mojo/system/dispatcher_unittest.cc

Issue 417303002: Convert ReadMessage...() to use the new user pointer handling (see r285350). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: hmm Created 6 years, 5 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 | « mojo/system/dispatcher.cc ('k') | mojo/system/local_message_pipe_endpoint.h » ('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 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 "mojo/system/dispatcher.h" 5 #include "mojo/system/dispatcher.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/synchronization/waitable_event.h" 10 #include "base/synchronization/waitable_event.h"
(...skipping 30 matching lines...) Expand all
41 }; 41 };
42 42
43 TEST(DispatcherTest, Basic) { 43 TEST(DispatcherTest, Basic) {
44 scoped_refptr<Dispatcher> d(new TrivialDispatcher()); 44 scoped_refptr<Dispatcher> d(new TrivialDispatcher());
45 45
46 EXPECT_EQ(Dispatcher::kTypeUnknown, d->GetType()); 46 EXPECT_EQ(Dispatcher::kTypeUnknown, d->GetType());
47 47
48 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 48 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
49 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE)); 49 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE));
50 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 50 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
51 d->ReadMessage(NULL, NULL, NULL, NULL, 51 d->ReadMessage(NullUserPointer(), NullUserPointer(), NULL, NULL,
52 MOJO_WRITE_MESSAGE_FLAG_NONE)); 52 MOJO_WRITE_MESSAGE_FLAG_NONE));
53 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 53 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
54 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 54 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE));
55 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 55 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
56 d->BeginWriteData(NullUserPointer(), NullUserPointer(), 56 d->BeginWriteData(NullUserPointer(), NullUserPointer(),
57 MOJO_WRITE_DATA_FLAG_NONE)); 57 MOJO_WRITE_DATA_FLAG_NONE));
58 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 58 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
59 d->EndWriteData(0)); 59 d->EndWriteData(0));
60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
61 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 61 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
62 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 62 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
63 d->BeginReadData(NullUserPointer(), NullUserPointer(), 63 d->BeginReadData(NullUserPointer(), NullUserPointer(),
64 MOJO_READ_DATA_FLAG_NONE)); 64 MOJO_READ_DATA_FLAG_NONE));
65 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 65 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
66 d->EndReadData(0)); 66 d->EndReadData(0));
67 Waiter w; 67 Waiter w;
68 w.Init(); 68 w.Init();
69 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, 69 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
70 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0)); 70 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0));
71 // Okay to remove even if it wasn't added (or was already removed). 71 // Okay to remove even if it wasn't added (or was already removed).
72 d->RemoveWaiter(&w); 72 d->RemoveWaiter(&w);
73 d->RemoveWaiter(&w); 73 d->RemoveWaiter(&w);
74 74
75 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 75 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
76 76
77 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 77 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
78 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE)); 78 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE));
79 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 79 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
80 d->ReadMessage(NULL, NULL, NULL, NULL, 80 d->ReadMessage(NullUserPointer(), NullUserPointer(), NULL, NULL,
81 MOJO_WRITE_MESSAGE_FLAG_NONE)); 81 MOJO_WRITE_MESSAGE_FLAG_NONE));
82 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 82 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
83 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 83 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE));
84 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 84 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
85 d->BeginWriteData(NullUserPointer(), NullUserPointer(), 85 d->BeginWriteData(NullUserPointer(), NullUserPointer(),
86 MOJO_WRITE_DATA_FLAG_NONE)); 86 MOJO_WRITE_DATA_FLAG_NONE));
87 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 87 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
88 d->EndWriteData(0)); 88 d->EndWriteData(0));
89 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 89 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
90 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 90 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 << "Result: " << r; 145 << "Result: " << r;
146 break; 146 break;
147 } 147 }
148 case WRITE_MESSAGE: 148 case WRITE_MESSAGE:
149 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 149 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
150 dispatcher_->WriteMessage(NULL, 0, NULL, 150 dispatcher_->WriteMessage(NULL, 0, NULL,
151 MOJO_WRITE_MESSAGE_FLAG_NONE)); 151 MOJO_WRITE_MESSAGE_FLAG_NONE));
152 break; 152 break;
153 case READ_MESSAGE: 153 case READ_MESSAGE:
154 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 154 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
155 dispatcher_->ReadMessage(NULL, NULL, NULL, NULL, 155 dispatcher_->ReadMessage(NullUserPointer(), NullUserPointer(),
156 NULL, NULL,
156 MOJO_WRITE_MESSAGE_FLAG_NONE)); 157 MOJO_WRITE_MESSAGE_FLAG_NONE));
157 break; 158 break;
158 case WRITE_DATA: 159 case WRITE_DATA:
159 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 160 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
160 dispatcher_->WriteData(NULL, NULL, 161 dispatcher_->WriteData(NULL, NULL,
161 MOJO_WRITE_DATA_FLAG_NONE)); 162 MOJO_WRITE_DATA_FLAG_NONE));
162 break; 163 break;
163 case BEGIN_WRITE_DATA: 164 case BEGIN_WRITE_DATA:
164 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 165 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
165 dispatcher_->BeginWriteData(NullUserPointer(), 166 dispatcher_->BeginWriteData(NullUserPointer(),
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 event.Signal(); // Kicks off real work on the threads. 273 event.Signal(); // Kicks off real work on the threads.
273 } // Joins all the threads. 274 } // Joins all the threads.
274 275
275 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 276 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
276 } 277 }
277 } 278 }
278 279
279 } // namespace 280 } // namespace
280 } // namespace system 281 } // namespace system
281 } // namespace mojo 282 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/system/dispatcher.cc ('k') | mojo/system/local_message_pipe_endpoint.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698