Chromium Code Reviews| Index: mojo/public/c/system/tests/core_unittest_pure_c.c |
| diff --git a/mojo/public/c/system/tests/core_unittest_pure_c.c b/mojo/public/c/system/tests/core_unittest_pure_c.c |
| index 33de6883f9654b3e5fb59863a826d7acb83d8fea..0c600de1fa2ca2883a5b56ab73902032e34b4ada 100644 |
| --- a/mojo/public/c/system/tests/core_unittest_pure_c.c |
| +++ b/mojo/public/c/system/tests/core_unittest_pure_c.c |
| @@ -90,6 +90,57 @@ const char* MinimalCTest(void) { |
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(handle0)); |
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(handle1)); |
| + // TODO(jimbe) Remove code above and rename calls to wait below. |
|
viettrungluu
2014/12/02 17:24:56
You may as well change the code above now, so I ca
jimbe
2014/12/02 19:21:19
Done.
|
| + |
| + handle1 = MOJO_HANDLE_INVALID; |
| + EXPECT_EQ(MOJO_RESULT_OK, MojoCreateMessagePipe(NULL, &handle0, &handle1)); |
| + |
| + signals = MOJO_HANDLE_SIGNAL_READABLE; |
| + uint32_t result_index; |
| + struct MojoHandleSignalsState states[1]; |
| + EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, |
| + MojoNewWaitMany(&handle0, &signals, 1, 1, &result_index, states)); |
| + |
| + EXPECT_EQ(0u, result_index); |
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, states[0].satisfied_signals); |
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
| + states[0].satisfiable_signals); |
| + |
| + EXPECT_EQ(MOJO_RESULT_OK, |
| + MojoWriteMessage(handle0, |
| + kHello, |
| + (uint32_t)sizeof(kHello), |
| + NULL, |
| + 0u, |
| + MOJO_WRITE_DATA_FLAG_NONE)); |
| + |
| + struct MojoHandleSignalsState state; |
| + EXPECT_EQ( |
| + MOJO_RESULT_OK, |
| + MojoNewWait(handle1, MOJO_HANDLE_SIGNAL_READABLE, |
| + MOJO_DEADLINE_INDEFINITE, &state)); |
| + |
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
| + state.satisfied_signals); |
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
| + state.satisfiable_signals); |
| + |
| + num_bytes = (uint32_t)sizeof(buffer); |
| + EXPECT_EQ(MOJO_RESULT_OK, |
| + MojoReadMessage(handle1, |
| + buffer, |
| + &num_bytes, |
| + NULL, |
| + NULL, |
| + MOJO_READ_MESSAGE_FLAG_NONE)); |
| + EXPECT_EQ((uint32_t)sizeof(kHello), num_bytes); |
| + EXPECT_EQ(0, memcmp(buffer, kHello, sizeof(kHello))); |
| + |
| + EXPECT_EQ(MOJO_RESULT_OK, MojoClose(handle0)); |
| + EXPECT_EQ(MOJO_RESULT_OK, MojoClose(handle1)); |
| + |
| + // End TODO(jimbe) |
| + |
| // TODO(vtl): data pipe |
| return NULL; |