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

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

Issue 411253011: Convert BeginWriteData...() 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/local_data_pipe.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"
11 #include "base/threading/simple_thread.h" 11 #include "base/threading/simple_thread.h"
12 #include "mojo/system/memory.h"
12 #include "mojo/system/raw_shared_buffer.h" 13 #include "mojo/system/raw_shared_buffer.h"
13 #include "mojo/system/waiter.h" 14 #include "mojo/system/waiter.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 16
16 namespace mojo { 17 namespace mojo {
17 namespace system { 18 namespace system {
18 namespace { 19 namespace {
19 20
20 // Trivial subclass that makes the constructor public. 21 // Trivial subclass that makes the constructor public.
21 class TrivialDispatcher : public Dispatcher { 22 class TrivialDispatcher : public Dispatcher {
(...skipping 23 matching lines...) Expand all
45 EXPECT_EQ(Dispatcher::kTypeUnknown, d->GetType()); 46 EXPECT_EQ(Dispatcher::kTypeUnknown, d->GetType());
46 47
47 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 48 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
48 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE)); 49 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE));
49 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 50 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
50 d->ReadMessage(NULL, NULL, NULL, NULL, 51 d->ReadMessage(NULL, NULL, NULL, NULL,
51 MOJO_WRITE_MESSAGE_FLAG_NONE)); 52 MOJO_WRITE_MESSAGE_FLAG_NONE));
52 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 53 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
53 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 54 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE));
54 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 55 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
55 d->BeginWriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 56 d->BeginWriteData(NullUserPointer(), NullUserPointer(),
57 MOJO_WRITE_DATA_FLAG_NONE));
56 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 58 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
57 d->EndWriteData(0)); 59 d->EndWriteData(0));
58 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
59 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 61 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 62 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
61 d->BeginReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 63 d->BeginReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
62 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 64 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
63 d->EndReadData(0)); 65 d->EndReadData(0));
64 Waiter w; 66 Waiter w;
65 w.Init(); 67 w.Init();
66 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, 68 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
67 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0)); 69 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0));
68 // Okay to remove even if it wasn't added (or was already removed). 70 // Okay to remove even if it wasn't added (or was already removed).
69 d->RemoveWaiter(&w); 71 d->RemoveWaiter(&w);
70 d->RemoveWaiter(&w); 72 d->RemoveWaiter(&w);
71 73
72 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 74 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
73 75
74 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 76 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
75 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE)); 77 d->WriteMessage(NULL, 0, NULL, MOJO_WRITE_MESSAGE_FLAG_NONE));
76 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 78 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
77 d->ReadMessage(NULL, NULL, NULL, NULL, 79 d->ReadMessage(NULL, NULL, NULL, NULL,
78 MOJO_WRITE_MESSAGE_FLAG_NONE)); 80 MOJO_WRITE_MESSAGE_FLAG_NONE));
79 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 81 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
80 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 82 d->WriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE));
81 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 83 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
82 d->BeginWriteData(NULL, NULL, MOJO_WRITE_DATA_FLAG_NONE)); 84 d->BeginWriteData(NullUserPointer(), NullUserPointer(),
85 MOJO_WRITE_DATA_FLAG_NONE));
83 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 86 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
84 d->EndWriteData(0)); 87 d->EndWriteData(0));
85 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 88 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
86 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 89 d->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
87 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 90 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
88 d->BeginReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 91 d->BeginReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
89 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 92 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
90 d->EndReadData(0)); 93 d->EndReadData(0));
91 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 94 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
92 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0)); 95 d->AddWaiter(&w, ~MOJO_HANDLE_SIGNAL_NONE, 0));
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 dispatcher_->ReadMessage(NULL, NULL, NULL, NULL, 153 dispatcher_->ReadMessage(NULL, NULL, NULL, NULL,
151 MOJO_WRITE_MESSAGE_FLAG_NONE)); 154 MOJO_WRITE_MESSAGE_FLAG_NONE));
152 break; 155 break;
153 case WRITE_DATA: 156 case WRITE_DATA:
154 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 157 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
155 dispatcher_->WriteData(NULL, NULL, 158 dispatcher_->WriteData(NULL, NULL,
156 MOJO_WRITE_DATA_FLAG_NONE)); 159 MOJO_WRITE_DATA_FLAG_NONE));
157 break; 160 break;
158 case BEGIN_WRITE_DATA: 161 case BEGIN_WRITE_DATA:
159 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 162 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
160 dispatcher_->BeginWriteData(NULL, NULL, 163 dispatcher_->BeginWriteData(NullUserPointer(),
164 NullUserPointer(),
161 MOJO_WRITE_DATA_FLAG_NONE)); 165 MOJO_WRITE_DATA_FLAG_NONE));
162 break; 166 break;
163 case END_WRITE_DATA: 167 case END_WRITE_DATA:
164 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 168 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
165 dispatcher_->EndWriteData(0)); 169 dispatcher_->EndWriteData(0));
166 break; 170 break;
167 case READ_DATA: 171 case READ_DATA:
168 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 172 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
169 dispatcher_->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE)); 173 dispatcher_->ReadData(NULL, NULL, MOJO_READ_DATA_FLAG_NONE));
170 break; 174 break;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 event.Signal(); // Kicks off real work on the threads. 269 event.Signal(); // Kicks off real work on the threads.
266 } // Joins all the threads. 270 } // Joins all the threads.
267 271
268 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 272 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
269 } 273 }
270 } 274 }
271 275
272 } // namespace 276 } // namespace
273 } // namespace system 277 } // namespace system
274 } // namespace mojo 278 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/system/dispatcher.cc ('k') | mojo/system/local_data_pipe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698