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

Side by Side Diff: mojo/public/c/system/tests/core_unittest.cc

Issue 830593003: Update mojo sdk to rev 9fbbc4f0fef1187312316c0ed992342474e139f1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cherry-pick mojo 9d3b8dd17f12d20035a14737fdc38dd926890ff8 Created 5 years, 11 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
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 // This file tests the C API. 5 // This file tests the C API.
6 6
7 #include "mojo/public/c/system/core.h" 7 #include "mojo/public/c/system/core.h"
8 8
9 #include <string.h> 9 #include <string.h>
10 10
(...skipping 22 matching lines...) Expand all
33 MojoHandleSignals sig; 33 MojoHandleSignals sig;
34 char buffer[10] = {0}; 34 char buffer[10] = {0};
35 uint32_t buffer_size; 35 uint32_t buffer_size;
36 void* write_pointer; 36 void* write_pointer;
37 const void* read_pointer; 37 const void* read_pointer;
38 38
39 // Close: 39 // Close:
40 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(MOJO_HANDLE_INVALID)); 40 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(MOJO_HANDLE_INVALID));
41 41
42 // Wait: 42 // Wait:
43 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 43 EXPECT_EQ(
44 MojoNewWait(MOJO_HANDLE_INVALID, ~MOJO_HANDLE_SIGNAL_NONE, 1000000, 44 MOJO_RESULT_INVALID_ARGUMENT,
45 NULL)); 45 MojoWait(MOJO_HANDLE_INVALID, ~MOJO_HANDLE_SIGNAL_NONE, 1000000, NULL));
46 46
47 h0 = MOJO_HANDLE_INVALID; 47 h0 = MOJO_HANDLE_INVALID;
48 sig = ~MOJO_HANDLE_SIGNAL_NONE; 48 sig = ~MOJO_HANDLE_SIGNAL_NONE;
49 EXPECT_EQ( 49 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
50 MOJO_RESULT_INVALID_ARGUMENT, 50 MojoWaitMany(&h0, &sig, 1, MOJO_DEADLINE_INDEFINITE, NULL, NULL));
51 MojoNewWaitMany(&h0, &sig, 1, MOJO_DEADLINE_INDEFINITE, NULL, NULL));
52 51
53 // Message pipe: 52 // Message pipe:
54 EXPECT_EQ( 53 EXPECT_EQ(
55 MOJO_RESULT_INVALID_ARGUMENT, 54 MOJO_RESULT_INVALID_ARGUMENT,
56 MojoWriteMessage(h0, buffer, 3, NULL, 0, MOJO_WRITE_MESSAGE_FLAG_NONE)); 55 MojoWriteMessage(h0, buffer, 3, NULL, 0, MOJO_WRITE_MESSAGE_FLAG_NONE));
57 buffer_size = static_cast<uint32_t>(sizeof(buffer)); 56 buffer_size = static_cast<uint32_t>(sizeof(buffer));
58 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 57 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
59 MojoReadMessage(h0, buffer, &buffer_size, NULL, NULL, 58 MojoReadMessage(h0, buffer, &buffer_size, NULL, NULL,
60 MOJO_READ_MESSAGE_FLAG_NONE)); 59 MOJO_READ_MESSAGE_FLAG_NONE));
61 60
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 92
94 h0 = MOJO_HANDLE_INVALID; 93 h0 = MOJO_HANDLE_INVALID;
95 h1 = MOJO_HANDLE_INVALID; 94 h1 = MOJO_HANDLE_INVALID;
96 EXPECT_EQ(MOJO_RESULT_OK, MojoCreateMessagePipe(NULL, &h0, &h1)); 95 EXPECT_EQ(MOJO_RESULT_OK, MojoCreateMessagePipe(NULL, &h0, &h1));
97 EXPECT_NE(h0, MOJO_HANDLE_INVALID); 96 EXPECT_NE(h0, MOJO_HANDLE_INVALID);
98 EXPECT_NE(h1, MOJO_HANDLE_INVALID); 97 EXPECT_NE(h1, MOJO_HANDLE_INVALID);
99 98
100 // Shouldn't be readable, we haven't written anything. 99 // Shouldn't be readable, we haven't written anything.
101 MojoHandleSignalsState state; 100 MojoHandleSignalsState state;
102 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, 101 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
103 MojoNewWait(h0, MOJO_HANDLE_SIGNAL_READABLE, 0, &state)); 102 MojoWait(h0, MOJO_HANDLE_SIGNAL_READABLE, 0, &state));
104 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals); 103 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals);
105 EXPECT_EQ(kSignalAll, state.satisfiable_signals); 104 EXPECT_EQ(kSignalAll, state.satisfiable_signals);
106 105
107 // Should be writable. 106 // Should be writable.
108 EXPECT_EQ(MOJO_RESULT_OK, 107 EXPECT_EQ(MOJO_RESULT_OK,
109 MojoNewWait(h0, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &state)); 108 MojoWait(h0, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &state));
110 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals); 109 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals);
111 EXPECT_EQ(kSignalAll, state.satisfiable_signals); 110 EXPECT_EQ(kSignalAll, state.satisfiable_signals);
112 111
113 // Try to read. 112 // Try to read.
114 buffer_size = static_cast<uint32_t>(sizeof(buffer)); 113 buffer_size = static_cast<uint32_t>(sizeof(buffer));
115 EXPECT_EQ(MOJO_RESULT_SHOULD_WAIT, 114 EXPECT_EQ(MOJO_RESULT_SHOULD_WAIT,
116 MojoReadMessage(h0, buffer, &buffer_size, NULL, NULL, 115 MojoReadMessage(h0, buffer, &buffer_size, NULL, NULL,
117 MOJO_READ_MESSAGE_FLAG_NONE)); 116 MOJO_READ_MESSAGE_FLAG_NONE));
118 117
119 // Write to |h1|. 118 // Write to |h1|.
120 static const char kHello[] = "hello"; 119 static const char kHello[] = "hello";
121 buffer_size = static_cast<uint32_t>(sizeof(kHello)); 120 buffer_size = static_cast<uint32_t>(sizeof(kHello));
122 EXPECT_EQ(MOJO_RESULT_OK, MojoWriteMessage(h1, kHello, buffer_size, NULL, 0, 121 EXPECT_EQ(MOJO_RESULT_OK, MojoWriteMessage(h1, kHello, buffer_size, NULL, 0,
123 MOJO_WRITE_MESSAGE_FLAG_NONE)); 122 MOJO_WRITE_MESSAGE_FLAG_NONE));
124 123
125 // |h0| should be readable. 124 // |h0| should be readable.
126 uint32_t result_index = 1; 125 uint32_t result_index = 1;
127 MojoHandleSignalsState states[1]; 126 MojoHandleSignalsState states[1];
128 sig = MOJO_HANDLE_SIGNAL_READABLE; 127 sig = MOJO_HANDLE_SIGNAL_READABLE;
129 EXPECT_EQ(MOJO_RESULT_OK, 128 EXPECT_EQ(MOJO_RESULT_OK, MojoWaitMany(&h0, &sig, 1, MOJO_DEADLINE_INDEFINITE,
130 MojoNewWaitMany(&h0, &sig, 1, MOJO_DEADLINE_INDEFINITE, 129 &result_index, states));
131 &result_index, states));
132 130
133 EXPECT_EQ(0u, result_index); 131 EXPECT_EQ(0u, result_index);
134 EXPECT_EQ(kSignalReadadableWritable, states[0].satisfied_signals); 132 EXPECT_EQ(kSignalReadadableWritable, states[0].satisfied_signals);
135 EXPECT_EQ(kSignalAll, states[0].satisfiable_signals); 133 EXPECT_EQ(kSignalAll, states[0].satisfiable_signals);
136 134
137 // Read from |h0|. 135 // Read from |h0|.
138 buffer_size = static_cast<uint32_t>(sizeof(buffer)); 136 buffer_size = static_cast<uint32_t>(sizeof(buffer));
139 EXPECT_EQ(MOJO_RESULT_OK, MojoReadMessage(h0, buffer, &buffer_size, NULL, 137 EXPECT_EQ(MOJO_RESULT_OK, MojoReadMessage(h0, buffer, &buffer_size, NULL,
140 NULL, MOJO_READ_MESSAGE_FLAG_NONE)); 138 NULL, MOJO_READ_MESSAGE_FLAG_NONE));
141 EXPECT_EQ(static_cast<uint32_t>(sizeof(kHello)), buffer_size); 139 EXPECT_EQ(static_cast<uint32_t>(sizeof(kHello)), buffer_size);
142 EXPECT_STREQ(kHello, buffer); 140 EXPECT_STREQ(kHello, buffer);
143 141
144 // |h0| should no longer be readable. 142 // |h0| should no longer be readable.
145 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, 143 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
146 MojoNewWait(h0, MOJO_HANDLE_SIGNAL_READABLE, 10, &state)); 144 MojoWait(h0, MOJO_HANDLE_SIGNAL_READABLE, 10, &state));
147 145
148 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals); 146 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals);
149 EXPECT_EQ(kSignalAll, state.satisfiable_signals); 147 EXPECT_EQ(kSignalAll, state.satisfiable_signals);
150 148
151 // Close |h0|. 149 // Close |h0|.
152 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h0)); 150 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h0));
153 151
154 // |h1| should no longer be readable or writable. 152 // |h1| should no longer be readable or writable.
155 EXPECT_EQ( 153 EXPECT_EQ(
156 MOJO_RESULT_FAILED_PRECONDITION, 154 MOJO_RESULT_FAILED_PRECONDITION,
157 MojoNewWait(h1, MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, 155 MojoWait(h1, MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
158 1000, &state)); 156 1000, &state));
159 157
160 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals); 158 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals);
161 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals); 159 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals);
162 160
163 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h1)); 161 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h1));
164 } 162 }
165 163
166 // TODO(ncbray): enable these tests once NaCl supports the corresponding APIs. 164 // TODO(ncbray): enable these tests once NaCl supports the corresponding APIs.
167 #ifdef __native_client__ 165 #ifdef __native_client__
168 #define MAYBE_BasicDataPipe DISABLED_BasicDataPipe 166 #define MAYBE_BasicDataPipe DISABLED_BasicDataPipe
(...skipping 13 matching lines...) Expand all
182 180
183 hp = MOJO_HANDLE_INVALID; 181 hp = MOJO_HANDLE_INVALID;
184 hc = MOJO_HANDLE_INVALID; 182 hc = MOJO_HANDLE_INVALID;
185 EXPECT_EQ(MOJO_RESULT_OK, MojoCreateDataPipe(NULL, &hp, &hc)); 183 EXPECT_EQ(MOJO_RESULT_OK, MojoCreateDataPipe(NULL, &hp, &hc));
186 EXPECT_NE(hp, MOJO_HANDLE_INVALID); 184 EXPECT_NE(hp, MOJO_HANDLE_INVALID);
187 EXPECT_NE(hc, MOJO_HANDLE_INVALID); 185 EXPECT_NE(hc, MOJO_HANDLE_INVALID);
188 186
189 // The consumer |hc| shouldn't be readable. 187 // The consumer |hc| shouldn't be readable.
190 MojoHandleSignalsState state; 188 MojoHandleSignalsState state;
191 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, 189 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
192 MojoNewWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 0, &state)); 190 MojoWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 0, &state));
193 191
194 EXPECT_EQ(MOJO_HANDLE_SIGNAL_NONE, state.satisfied_signals); 192 EXPECT_EQ(MOJO_HANDLE_SIGNAL_NONE, state.satisfied_signals);
195 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 193 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
196 state.satisfiable_signals); 194 state.satisfiable_signals);
197 195
198 // The producer |hp| should be writable. 196 // The producer |hp| should be writable.
199 EXPECT_EQ(MOJO_RESULT_OK, 197 EXPECT_EQ(MOJO_RESULT_OK,
200 MojoNewWait(hp, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &state)); 198 MojoWait(hp, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &state));
201 199
202 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals); 200 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals);
203 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 201 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
204 state.satisfiable_signals); 202 state.satisfiable_signals);
205 203
206 // Try to read from |hc|. 204 // Try to read from |hc|.
207 buffer_size = static_cast<uint32_t>(sizeof(buffer)); 205 buffer_size = static_cast<uint32_t>(sizeof(buffer));
208 EXPECT_EQ(MOJO_RESULT_SHOULD_WAIT, 206 EXPECT_EQ(MOJO_RESULT_SHOULD_WAIT,
209 MojoReadData(hc, buffer, &buffer_size, MOJO_READ_DATA_FLAG_NONE)); 207 MojoReadData(hc, buffer, &buffer_size, MOJO_READ_DATA_FLAG_NONE));
210 208
211 // Try to begin a two-phase read from |hc|. 209 // Try to begin a two-phase read from |hc|.
212 read_pointer = NULL; 210 read_pointer = NULL;
213 EXPECT_EQ(MOJO_RESULT_SHOULD_WAIT, 211 EXPECT_EQ(MOJO_RESULT_SHOULD_WAIT,
214 MojoBeginReadData(hc, &read_pointer, &buffer_size, 212 MojoBeginReadData(hc, &read_pointer, &buffer_size,
215 MOJO_READ_DATA_FLAG_NONE)); 213 MOJO_READ_DATA_FLAG_NONE));
216 214
217 // Write to |hp|. 215 // Write to |hp|.
218 static const char kHello[] = "hello "; 216 static const char kHello[] = "hello ";
219 // Don't include terminating null. 217 // Don't include terminating null.
220 buffer_size = static_cast<uint32_t>(strlen(kHello)); 218 buffer_size = static_cast<uint32_t>(strlen(kHello));
221 EXPECT_EQ(MOJO_RESULT_OK, MojoWriteData(hp, kHello, &buffer_size, 219 EXPECT_EQ(MOJO_RESULT_OK, MojoWriteData(hp, kHello, &buffer_size,
222 MOJO_WRITE_MESSAGE_FLAG_NONE)); 220 MOJO_WRITE_MESSAGE_FLAG_NONE));
223 221
224 // |hc| should be(come) readable. 222 // |hc| should be(come) readable.
225 uint32_t result_index = 1; 223 uint32_t result_index = 1;
226 MojoHandleSignalsState states[1]; 224 MojoHandleSignalsState states[1];
227 sig = MOJO_HANDLE_SIGNAL_READABLE; 225 sig = MOJO_HANDLE_SIGNAL_READABLE;
228 EXPECT_EQ(MOJO_RESULT_OK, 226 EXPECT_EQ(MOJO_RESULT_OK, MojoWaitMany(&hc, &sig, 1, MOJO_DEADLINE_INDEFINITE,
229 MojoNewWaitMany(&hc, &sig, 1, MOJO_DEADLINE_INDEFINITE, 227 &result_index, states));
230 &result_index, states));
231 228
232 EXPECT_EQ(0u, result_index); 229 EXPECT_EQ(0u, result_index);
233 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, states[0].satisfied_signals); 230 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, states[0].satisfied_signals);
234 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 231 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
235 states[0].satisfiable_signals); 232 states[0].satisfiable_signals);
236 233
237 // Do a two-phase write to |hp|. 234 // Do a two-phase write to |hp|.
238 EXPECT_EQ(MOJO_RESULT_OK, MojoBeginWriteData(hp, &write_pointer, &buffer_size, 235 EXPECT_EQ(MOJO_RESULT_OK, MojoBeginWriteData(hp, &write_pointer, &buffer_size,
239 MOJO_WRITE_DATA_FLAG_NONE)); 236 MOJO_WRITE_DATA_FLAG_NONE));
240 static const char kWorld[] = "world"; 237 static const char kWorld[] = "world";
241 ASSERT_GE(buffer_size, sizeof(kWorld)); 238 ASSERT_GE(buffer_size, sizeof(kWorld));
242 // Include the terminating null. 239 // Include the terminating null.
243 memcpy(write_pointer, kWorld, sizeof(kWorld)); 240 memcpy(write_pointer, kWorld, sizeof(kWorld));
244 EXPECT_EQ(MOJO_RESULT_OK, 241 EXPECT_EQ(MOJO_RESULT_OK,
245 MojoEndWriteData(hp, static_cast<uint32_t>(sizeof(kWorld)))); 242 MojoEndWriteData(hp, static_cast<uint32_t>(sizeof(kWorld))));
246 243
247 // Read one character from |hc|. 244 // Read one character from |hc|.
248 memset(buffer, 0, sizeof(buffer)); 245 memset(buffer, 0, sizeof(buffer));
249 buffer_size = 1; 246 buffer_size = 1;
250 EXPECT_EQ(MOJO_RESULT_OK, 247 EXPECT_EQ(MOJO_RESULT_OK,
251 MojoReadData(hc, buffer, &buffer_size, MOJO_READ_DATA_FLAG_NONE)); 248 MojoReadData(hc, buffer, &buffer_size, MOJO_READ_DATA_FLAG_NONE));
252 249
253 // Close |hp|. 250 // Close |hp|.
254 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(hp)); 251 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(hp));
255 252
256 // |hc| should still be readable. 253 // |hc| should still be readable.
257 EXPECT_EQ(MOJO_RESULT_OK, 254 EXPECT_EQ(MOJO_RESULT_OK,
258 MojoNewWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 0, &state)); 255 MojoWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 0, &state));
259 256
260 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 257 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
261 state.satisfied_signals); 258 state.satisfied_signals);
262 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 259 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
263 state.satisfiable_signals); 260 state.satisfiable_signals);
264 261
265 // Do a two-phase read from |hc|. 262 // Do a two-phase read from |hc|.
266 read_pointer = NULL; 263 read_pointer = NULL;
267 EXPECT_EQ(MOJO_RESULT_OK, MojoBeginReadData(hc, &read_pointer, &buffer_size, 264 EXPECT_EQ(MOJO_RESULT_OK, MojoBeginReadData(hc, &read_pointer, &buffer_size,
268 MOJO_READ_DATA_FLAG_NONE)); 265 MOJO_READ_DATA_FLAG_NONE));
269 ASSERT_LE(buffer_size, sizeof(buffer) - 1); 266 ASSERT_LE(buffer_size, sizeof(buffer) - 1);
270 memcpy(&buffer[1], read_pointer, buffer_size); 267 memcpy(&buffer[1], read_pointer, buffer_size);
271 EXPECT_EQ(MOJO_RESULT_OK, MojoEndReadData(hc, buffer_size)); 268 EXPECT_EQ(MOJO_RESULT_OK, MojoEndReadData(hc, buffer_size));
272 EXPECT_STREQ("hello world", buffer); 269 EXPECT_STREQ("hello world", buffer);
273 270
274 // |hc| should no longer be readable. 271 // |hc| should no longer be readable.
275 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, 272 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
276 MojoNewWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 1000, &state)); 273 MojoWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 1000, &state));
277 274
278 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals); 275 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals);
279 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals); 276 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals);
280 277
281 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(hc)); 278 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(hc));
282 279
283 // TODO(vtl): Test the other way around -- closing the consumer should make 280 // TODO(vtl): Test the other way around -- closing the consumer should make
284 // the producer never-writable? 281 // the producer never-writable?
285 } 282 }
286 283
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 // This checks that things actually work in C (not C++). 333 // This checks that things actually work in C (not C++).
337 TEST(CoreTest, MinimalCTest) { 334 TEST(CoreTest, MinimalCTest) {
338 const char* failure = MinimalCTest(); 335 const char* failure = MinimalCTest();
339 EXPECT_TRUE(failure == NULL) << failure; 336 EXPECT_TRUE(failure == NULL) << failure;
340 } 337 }
341 338
342 // TODO(vtl): Add multi-threaded tests. 339 // TODO(vtl): Add multi-threaded tests.
343 340
344 } // namespace 341 } // namespace
345 } // namespace mojo 342 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/public/c/system/tests/core_perftest.cc ('k') | mojo/public/c/system/tests/core_unittest_pure_c.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698