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 "mojo/edk/system/dispatcher.h" | 5 #include "mojo/edk/system/dispatcher.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <thread> | 8 #include <thread> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 | 54 |
55 EXPECT_EQ(Dispatcher::Type::UNKNOWN, d->GetType()); | 55 EXPECT_EQ(Dispatcher::Type::UNKNOWN, d->GetType()); |
56 | 56 |
57 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 57 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
58 d->WriteMessage(NullUserPointer(), 0, nullptr, | 58 d->WriteMessage(NullUserPointer(), 0, nullptr, |
59 MOJO_WRITE_MESSAGE_FLAG_NONE)); | 59 MOJO_WRITE_MESSAGE_FLAG_NONE)); |
60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 60 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
61 d->ReadMessage(NullUserPointer(), NullUserPointer(), nullptr, | 61 d->ReadMessage(NullUserPointer(), NullUserPointer(), nullptr, |
62 nullptr, MOJO_WRITE_MESSAGE_FLAG_NONE)); | 62 nullptr, MOJO_WRITE_MESSAGE_FLAG_NONE)); |
63 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 63 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
| 64 d->SetDataPipeProducerOptions(NullUserPointer())); |
| 65 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
| 66 d->GetDataPipeProducerOptions(NullUserPointer(), 0)); |
| 67 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
64 d->WriteData(NullUserPointer(), NullUserPointer(), | 68 d->WriteData(NullUserPointer(), NullUserPointer(), |
65 MOJO_WRITE_DATA_FLAG_NONE)); | 69 MOJO_WRITE_DATA_FLAG_NONE)); |
66 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 70 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
67 d->BeginWriteData(NullUserPointer(), NullUserPointer(), | 71 d->BeginWriteData(NullUserPointer(), NullUserPointer(), |
68 MOJO_WRITE_DATA_FLAG_NONE)); | 72 MOJO_WRITE_DATA_FLAG_NONE)); |
69 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, d->EndWriteData(0)); | 73 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, d->EndWriteData(0)); |
70 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 74 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
71 d->SetDataPipeConsumerOptions(NullUserPointer())); | 75 d->SetDataPipeConsumerOptions(NullUserPointer())); |
72 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 76 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
73 d->GetDataPipeConsumerOptions(NullUserPointer(), 0)); | 77 d->GetDataPipeConsumerOptions(NullUserPointer(), 0)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 | 111 |
108 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); | 112 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); |
109 | 113 |
110 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 114 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
111 d->WriteMessage(NullUserPointer(), 0, nullptr, | 115 d->WriteMessage(NullUserPointer(), 0, nullptr, |
112 MOJO_WRITE_MESSAGE_FLAG_NONE)); | 116 MOJO_WRITE_MESSAGE_FLAG_NONE)); |
113 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 117 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
114 d->ReadMessage(NullUserPointer(), NullUserPointer(), nullptr, | 118 d->ReadMessage(NullUserPointer(), NullUserPointer(), nullptr, |
115 nullptr, MOJO_WRITE_MESSAGE_FLAG_NONE)); | 119 nullptr, MOJO_WRITE_MESSAGE_FLAG_NONE)); |
116 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 120 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
| 121 d->SetDataPipeProducerOptions(NullUserPointer())); |
| 122 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
| 123 d->GetDataPipeProducerOptions(NullUserPointer(), 0)); |
| 124 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
117 d->WriteData(NullUserPointer(), NullUserPointer(), | 125 d->WriteData(NullUserPointer(), NullUserPointer(), |
118 MOJO_WRITE_DATA_FLAG_NONE)); | 126 MOJO_WRITE_DATA_FLAG_NONE)); |
119 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 127 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
120 d->BeginWriteData(NullUserPointer(), NullUserPointer(), | 128 d->BeginWriteData(NullUserPointer(), NullUserPointer(), |
121 MOJO_WRITE_DATA_FLAG_NONE)); | 129 MOJO_WRITE_DATA_FLAG_NONE)); |
122 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, d->EndWriteData(0)); | 130 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, d->EndWriteData(0)); |
123 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 131 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
124 d->SetDataPipeConsumerOptions(NullUserPointer())); | 132 d->SetDataPipeConsumerOptions(NullUserPointer())); |
125 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 133 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
126 d->GetDataPipeConsumerOptions(NullUserPointer(), 0)); | 134 d->GetDataPipeConsumerOptions(NullUserPointer(), 0)); |
(...skipping 22 matching lines...) Expand all Loading... |
149 hss = HandleSignalsState(); | 157 hss = HandleSignalsState(); |
150 d->RemoveAwakable(&w, &hss); | 158 d->RemoveAwakable(&w, &hss); |
151 EXPECT_EQ(0u, hss.satisfied_signals); | 159 EXPECT_EQ(0u, hss.satisfied_signals); |
152 EXPECT_EQ(0u, hss.satisfiable_signals); | 160 EXPECT_EQ(0u, hss.satisfiable_signals); |
153 } | 161 } |
154 | 162 |
155 enum class DispatcherOp { | 163 enum class DispatcherOp { |
156 CLOSE = 0, | 164 CLOSE = 0, |
157 WRITE_MESSAGE, | 165 WRITE_MESSAGE, |
158 READ_MESSAGE, | 166 READ_MESSAGE, |
| 167 SET_DATA_PIPE_PRODUCER_OPTIONS, |
| 168 GET_DATA_PIPE_PRODUCER_OPTIONS, |
159 WRITE_DATA, | 169 WRITE_DATA, |
160 BEGIN_WRITE_DATA, | 170 BEGIN_WRITE_DATA, |
161 END_WRITE_DATA, | 171 END_WRITE_DATA, |
162 SET_DATA_PIPE_CONSUMER_OPTIONS, | 172 SET_DATA_PIPE_CONSUMER_OPTIONS, |
163 GET_DATA_PIPE_CONSUMER_OPTIONS, | 173 GET_DATA_PIPE_CONSUMER_OPTIONS, |
164 READ_DATA, | 174 READ_DATA, |
165 BEGIN_READ_DATA, | 175 BEGIN_READ_DATA, |
166 END_READ_DATA, | 176 END_READ_DATA, |
167 DUPLICATE_BUFFER_HANDLE, | 177 DUPLICATE_BUFFER_HANDLE, |
168 GET_BUFFER_INFORMATION, | 178 GET_BUFFER_INFORMATION, |
(...skipping 24 matching lines...) Expand all Loading... |
193 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 203 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
194 dispatcher->WriteMessage(NullUserPointer(), 0, nullptr, | 204 dispatcher->WriteMessage(NullUserPointer(), 0, nullptr, |
195 MOJO_WRITE_MESSAGE_FLAG_NONE)); | 205 MOJO_WRITE_MESSAGE_FLAG_NONE)); |
196 break; | 206 break; |
197 case DispatcherOp::READ_MESSAGE: | 207 case DispatcherOp::READ_MESSAGE: |
198 EXPECT_EQ( | 208 EXPECT_EQ( |
199 MOJO_RESULT_INVALID_ARGUMENT, | 209 MOJO_RESULT_INVALID_ARGUMENT, |
200 dispatcher->ReadMessage(NullUserPointer(), NullUserPointer(), nullptr, | 210 dispatcher->ReadMessage(NullUserPointer(), NullUserPointer(), nullptr, |
201 nullptr, MOJO_WRITE_MESSAGE_FLAG_NONE)); | 211 nullptr, MOJO_WRITE_MESSAGE_FLAG_NONE)); |
202 break; | 212 break; |
| 213 case DispatcherOp::SET_DATA_PIPE_PRODUCER_OPTIONS: |
| 214 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
| 215 dispatcher->SetDataPipeProducerOptions(NullUserPointer())); |
| 216 break; |
| 217 case DispatcherOp::GET_DATA_PIPE_PRODUCER_OPTIONS: |
| 218 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
| 219 dispatcher->GetDataPipeProducerOptions(NullUserPointer(), 0)); |
| 220 break; |
203 case DispatcherOp::WRITE_DATA: | 221 case DispatcherOp::WRITE_DATA: |
204 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 222 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
205 dispatcher->WriteData(NullUserPointer(), NullUserPointer(), | 223 dispatcher->WriteData(NullUserPointer(), NullUserPointer(), |
206 MOJO_WRITE_DATA_FLAG_NONE)); | 224 MOJO_WRITE_DATA_FLAG_NONE)); |
207 break; | 225 break; |
208 case DispatcherOp::BEGIN_WRITE_DATA: | 226 case DispatcherOp::BEGIN_WRITE_DATA: |
209 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 227 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
210 dispatcher->BeginWriteData(NullUserPointer(), NullUserPointer(), | 228 dispatcher->BeginWriteData(NullUserPointer(), NullUserPointer(), |
211 MOJO_WRITE_DATA_FLAG_NONE)); | 229 MOJO_WRITE_DATA_FLAG_NONE)); |
212 break; | 230 break; |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 for (auto& thread : threads) | 352 for (auto& thread : threads) |
335 thread.join(); | 353 thread.join(); |
336 | 354 |
337 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); | 355 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); |
338 } | 356 } |
339 } | 357 } |
340 | 358 |
341 } // namespace | 359 } // namespace |
342 } // namespace system | 360 } // namespace system |
343 } // namespace mojo | 361 } // namespace mojo |
OLD | NEW |