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

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

Issue 419973005: Convert WriteMessage...() to use the new user pointer handling (see r285350). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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/memory.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 28 matching lines...) Expand all
39 39
40 DISALLOW_COPY_AND_ASSIGN(TrivialDispatcher); 40 DISALLOW_COPY_AND_ASSIGN(TrivialDispatcher);
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(NullUserPointer(), 0, NULL,
50 MOJO_WRITE_MESSAGE_FLAG_NONE));
50 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 51 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
51 d->ReadMessage(NullUserPointer(), NullUserPointer(), NULL, NULL, 52 d->ReadMessage(NullUserPointer(), NullUserPointer(), NULL, NULL,
52 MOJO_WRITE_MESSAGE_FLAG_NONE)); 53 MOJO_WRITE_MESSAGE_FLAG_NONE));
53 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 54 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
54 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 55 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE));
55 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 56 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
56 d->BeginWriteData(NullUserPointer(), NullUserPointer(), 57 d->BeginWriteData(NullUserPointer(), NullUserPointer(),
57 MOJO_WRITE_DATA_FLAG_NONE)); 58 MOJO_WRITE_DATA_FLAG_NONE));
58 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 59 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
59 d->EndWriteData(0)); 60 d->EndWriteData(0));
60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 61 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
61 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 62 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
62 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 63 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
63 d->BeginReadData(NullUserPointer(), NullUserPointer(), 64 d->BeginReadData(NullUserPointer(), NullUserPointer(),
64 MOJO_READ_DATA_FLAG_NONE)); 65 MOJO_READ_DATA_FLAG_NONE));
65 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 66 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
66 d->EndReadData(0)); 67 d->EndReadData(0));
67 Waiter w; 68 Waiter w;
68 w.Init(); 69 w.Init();
69 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, 70 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
70 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0)); 71 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0));
71 // Okay to remove even if it wasn't added (or was already removed). 72 // Okay to remove even if it wasn't added (or was already removed).
72 d->RemoveWaiter(&w); 73 d->RemoveWaiter(&w);
73 d->RemoveWaiter(&w); 74 d->RemoveWaiter(&w);
74 75
75 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 76 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
76 77
77 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 78 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
78 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE)); 79 d->WriteMessage(NullUserPointer(), 0, NULL,
80 MOJO_WRITE_MESSAGE_FLAG_NONE));
79 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 81 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
80 d->ReadMessage(NullUserPointer(), NullUserPointer(), NULL, NULL, 82 d->ReadMessage(NullUserPointer(), NullUserPointer(), NULL, NULL,
81 MOJO_WRITE_MESSAGE_FLAG_NONE)); 83 MOJO_WRITE_MESSAGE_FLAG_NONE));
82 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 84 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
83 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 85 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE));
84 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 86 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
85 d->BeginWriteData(NullUserPointer(), NullUserPointer(), 87 d->BeginWriteData(NullUserPointer(), NullUserPointer(),
86 MOJO_WRITE_DATA_FLAG_NONE)); 88 MOJO_WRITE_DATA_FLAG_NONE));
87 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 89 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
88 d->EndWriteData(0)); 90 d->EndWriteData(0));
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 waiter_.Init(); 142 waiter_.Init();
141 switch(op_) { 143 switch(op_) {
142 case CLOSE: { 144 case CLOSE: {
143 MojoResult r = dispatcher_->Close(); 145 MojoResult r = dispatcher_->Close();
144 EXPECT_TRUE(r == MOJO_RESULT_OK || r == MOJO_RESULT_INVALID_ARGUMENT) 146 EXPECT_TRUE(r == MOJO_RESULT_OK || r == MOJO_RESULT_INVALID_ARGUMENT)
145 << "Result: " << r; 147 << "Result: " << r;
146 break; 148 break;
147 } 149 }
148 case WRITE_MESSAGE: 150 case WRITE_MESSAGE:
149 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 151 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
150 dispatcher_->WriteMessage(NULL, 0, NULL, 152 dispatcher_->WriteMessage(NullUserPointer(), 0, NULL,
151 MOJO_WRITE_MESSAGE_FLAG_NONE)); 153 MOJO_WRITE_MESSAGE_FLAG_NONE));
152 break; 154 break;
153 case READ_MESSAGE: 155 case READ_MESSAGE:
154 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 156 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
155 dispatcher_->ReadMessage(NullUserPointer(), NullUserPointer(), 157 dispatcher_->ReadMessage(NullUserPointer(), NullUserPointer(),
156 NULL, NULL, 158 NULL, NULL,
157 MOJO_WRITE_MESSAGE_FLAG_NONE)); 159 MOJO_WRITE_MESSAGE_FLAG_NONE));
158 break; 160 break;
159 case WRITE_DATA: 161 case WRITE_DATA:
160 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 162 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 event.Signal(); // Kicks off real work on the threads. 275 event.Signal(); // Kicks off real work on the threads.
274 } // Joins all the threads. 276 } // Joins all the threads.
275 277
276 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 278 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
277 } 279 }
278 } 280 }
279 281
280 } // namespace 282 } // namespace
281 } // namespace system 283 } // namespace system
282 } // namespace mojo 284 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/system/dispatcher.cc ('k') | mojo/system/memory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698