Index: mojo/edk/system/data_pipe_unittest.cc |
diff --git a/mojo/edk/system/data_pipe_unittest.cc b/mojo/edk/system/data_pipe_unittest.cc |
index b04bebd65b5a3af0cf9a77edd3afd1c3dc74ed50..114749628a363ce2a11dbf4662aeaed443ccacd7 100644 |
--- a/mojo/edk/system/data_pipe_unittest.cc |
+++ b/mojo/edk/system/data_pipe_unittest.cc |
@@ -162,7 +162,8 @@ |
// Now wait for the other side to become readable. |
MojoHandleSignalsState state; |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &state)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &state)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
state.satisfied_signals); |
@@ -248,7 +249,8 @@ |
// Wait. |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -335,11 +337,18 @@ |
Create(&options); |
MojoHandleSignalsState hss; |
- // Never readable. Already writable. |
- hss = GetSignalsState(producer_); |
+ // Never readable. |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_READABLE, 0, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
+ |
+ // Already writable. |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_OK, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss)); |
// Write two elements. |
int32_t elements[2] = {123, 456}; |
@@ -349,7 +358,8 @@ |
// Wait for data to become available to the consumer. |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -409,7 +419,11 @@ |
// It should now be never-writable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(producer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals); |
} |
@@ -430,7 +444,8 @@ |
// It should be signaled. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(producer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals); |
} |
@@ -451,7 +466,8 @@ |
// It should be signaled. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals); |
} |
@@ -469,7 +485,8 @@ |
// Never writable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_WRITABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_WRITABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(0u, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -483,7 +500,8 @@ |
// Wait for readability. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -498,7 +516,8 @@ |
// Should still be readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -515,7 +534,8 @@ |
// Should still be readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -539,7 +559,8 @@ |
// Waiting should now succeed. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -552,7 +573,8 @@ |
// Should still be readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_TRUE(hss.satisfied_signals & (MOJO_HANDLE_SIGNAL_READABLE | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -562,7 +584,8 @@ |
// Wait for the peer closed signal. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE | |
MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfied_signals); |
@@ -582,7 +605,8 @@ |
// Should be never-readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals); |
} |
@@ -601,10 +625,11 @@ |
EXPECT_EQ(MOJO_RESULT_OK, WriteData(elements, &num_bytes, true)); |
// The consumer handle should appear to be readable and have new data. |
+ EXPECT_EQ(MOJO_RESULT_OK, MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
EXPECT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE)); |
- EXPECT_TRUE(GetSignalsState(consumer_).satisfied_signals & |
- MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
// Now try to read a minimum of 6 elements. |
int32_t read_elements[6]; |
@@ -613,30 +638,35 @@ |
MojoReadData(consumer_, read_elements, &num_read_bytes, |
MOJO_READ_DATA_FLAG_ALL_OR_NONE)); |
- // The consumer should still appear to be readable but not with new data. |
- EXPECT_TRUE(GetSignalsState(consumer_).satisfied_signals & |
- MOJO_HANDLE_SIGNAL_READABLE); |
- EXPECT_FALSE(GetSignalsState(consumer_).satisfied_signals & |
- MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE); |
+ // The consumer should still appear to be readable, but not with new data. |
+ EXPECT_EQ(MOJO_RESULT_OK, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, 0, nullptr)); |
+ EXPECT_EQ( |
+ MOJO_RESULT_DEADLINE_EXCEEDED, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, 0, nullptr)); |
// Write four more elements. |
EXPECT_EQ(MOJO_RESULT_OK, WriteData(elements, &num_bytes, true)); |
EXPECT_EQ(MOJO_RESULT_OK, WriteData(elements, &num_bytes, true)); |
- // The consumer handle should once again appear to be readable. |
+ // The consumer handle should once again appear to be readable with new data. |
+ EXPECT_EQ(MOJO_RESULT_OK, MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
EXPECT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE)); |
- |
- // Try again to read a minimum of 6 elements. Should succeed this time. |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
+ |
+ // Read should succeed this time. |
EXPECT_EQ(MOJO_RESULT_OK, |
MojoReadData(consumer_, read_elements, &num_read_bytes, |
MOJO_READ_DATA_FLAG_ALL_OR_NONE)); |
- // And now the consumer is unreadable. |
- EXPECT_FALSE(GetSignalsState(consumer_).satisfied_signals & |
- MOJO_HANDLE_SIGNAL_READABLE); |
- EXPECT_FALSE(GetSignalsState(consumer_).satisfied_signals & |
- MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE); |
+ // And once again the consumer is unreadable. |
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, 0, nullptr)); |
+ EXPECT_EQ( |
+ MOJO_RESULT_DEADLINE_EXCEEDED, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, 0, nullptr)); |
} |
// Test with two-phase APIs and also closing the producer with an active |
@@ -667,7 +697,8 @@ |
// Wait for readability. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -688,7 +719,8 @@ |
// Should still be readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -711,7 +743,8 @@ |
// Should be never-readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals); |
} |
@@ -728,7 +761,9 @@ |
MojoHandleSignalsState hss; |
// It should be writable. |
- hss = GetSignalsState(producer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_OK, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
@@ -740,13 +775,17 @@ |
EXPECT_GE(num_bytes, static_cast<uint32_t>(1u * sizeof(int32_t))); |
// At this point, it shouldn't be writable. |
- hss = GetSignalsState(producer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss)); |
ASSERT_EQ(0u, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
// It shouldn't be readable yet either (we'll wait later). |
- hss = GetSignalsState(consumer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, 0, &hss)); |
ASSERT_EQ(0u, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -756,7 +795,9 @@ |
ASSERT_EQ(MOJO_RESULT_OK, EndWriteData(1u * sizeof(int32_t))); |
// It should immediately be writable again. |
- hss = GetSignalsState(producer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_OK, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
@@ -764,7 +805,8 @@ |
// It should become readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -782,7 +824,8 @@ |
// It should be readable. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -800,13 +843,17 @@ |
ASSERT_EQ(static_cast<uint32_t>(1u * sizeof(int32_t)), num_bytes); |
// At this point, it should still be writable. |
- hss = GetSignalsState(producer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_OK, |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
// But not readable. |
- hss = GetSignalsState(consumer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, 0, &hss)); |
ASSERT_EQ(0u, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -816,7 +863,9 @@ |
ASSERT_EQ(MOJO_RESULT_OK, EndReadData(0u)); |
// It should be readable again. |
- hss = GetSignalsState(consumer_); |
+ hss = MojoHandleSignalsState(); |
+ ASSERT_EQ(MOJO_RESULT_OK, |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, 0, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -862,7 +911,8 @@ |
// of data to become available. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE | |
@@ -952,7 +1002,8 @@ |
// Wait. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
@@ -1016,7 +1067,8 @@ |
// Wait for data. |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_TRUE(hss.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -1043,7 +1095,8 @@ |
while (total_num_bytes < 90) { |
// Wait to write. |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, &hss)); |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_WRITABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
ASSERT_EQ(hss.satisfied_signals, MOJO_HANDLE_SIGNAL_WRITABLE); |
ASSERT_EQ(hss.satisfiable_signals, |
MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED); |
@@ -1178,7 +1231,8 @@ |
// TODO(vtl): (See corresponding TODO in AllOrNone.) |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -1198,7 +1252,8 @@ |
// Wait for producer to know that the consumer is closed. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(producer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(producer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals); |
@@ -1268,7 +1323,8 @@ |
// must also know about all the data that was sent.) |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
@@ -1328,7 +1384,8 @@ |
// Wait for the data. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -1354,7 +1411,8 @@ |
// must also have received the extra data). |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
@@ -1441,7 +1499,8 @@ |
// TODO(vtl): (See corresponding TODO in AllOrNone.) |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -1510,7 +1569,8 @@ |
// Wait for the data. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -1534,8 +1594,8 @@ |
MojoWriteMessage(pipe0, nullptr, 0, &producer_, 1, |
MOJO_WRITE_MESSAGE_FLAG_NONE)); |
producer_ = MOJO_HANDLE_INVALID; |
- ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(pipe1, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
uint32_t num_handles = 1; |
ASSERT_EQ(MOJO_RESULT_OK, |
MojoReadMessage(pipe1, nullptr, 0, &producer_, &num_handles, |
@@ -1552,7 +1612,8 @@ |
// Wait for it. |
hss = MojoHandleSignalsState(); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
@@ -1592,7 +1653,8 @@ |
// Now wait for the other side to become readable and to see the peer closed. |
MojoHandleSignalsState state; |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &state)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &state)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
state.satisfied_signals); |
@@ -1609,8 +1671,8 @@ |
MojoWriteMessage(pipe0, nullptr, 0, &consumer_, 1, |
MOJO_WRITE_MESSAGE_FLAG_NONE)); |
consumer_ = MOJO_HANDLE_INVALID; |
- ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(pipe1, MOJO_HANDLE_SIGNAL_READABLE, &state)); |
+ ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &state)); |
uint32_t num_handles = 1; |
ASSERT_EQ(MOJO_RESULT_OK, |
MojoReadMessage(pipe1, nullptr, 0, &consumer_, &num_handles, |
@@ -1618,7 +1680,8 @@ |
ASSERT_EQ(num_handles, 1u); |
ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &state)); |
+ MojoWait(consumer_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, &state)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | |
MOJO_HANDLE_SIGNAL_NEW_DATA_READABLE, |
state.satisfied_signals); |
@@ -1653,8 +1716,8 @@ |
} |
MojoHandleSignalsState hss = MojoHandleSignalsState(); |
- EXPECT_EQ(MOJO_RESULT_OK, test::MojoTestBase::WaitForSignals( |
- producer, MOJO_HANDLE_SIGNAL_WRITABLE, &hss)); |
+ EXPECT_EQ(MOJO_RESULT_OK, MojoWait(producer, MOJO_HANDLE_SIGNAL_WRITABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
@@ -1691,8 +1754,8 @@ |
} |
MojoHandleSignalsState hss = MojoHandleSignalsState(); |
- EXPECT_EQ(MOJO_RESULT_OK, test::MojoTestBase::WaitForSignals( |
- consumer, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ EXPECT_EQ(MOJO_RESULT_OK, MojoWait(consumer, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
// Peer could have become closed while we're still waiting for data. |
EXPECT_TRUE(MOJO_HANDLE_SIGNAL_READABLE & hss.satisfied_signals); |
EXPECT_TRUE(hss.satisfiable_signals & MOJO_HANDLE_SIGNAL_READABLE); |
@@ -1751,8 +1814,8 @@ |
// Receive the consumer from the other side. |
producer_ = MOJO_HANDLE_INVALID; |
MojoHandleSignalsState hss = MojoHandleSignalsState(); |
- ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(server_mp, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ ASSERT_EQ(MOJO_RESULT_OK, MojoWait(server_mp, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
MojoHandle handles[2]; |
uint32_t num_handles = arraysize(handles); |
ASSERT_EQ(MOJO_RESULT_OK, |
@@ -1781,8 +1844,8 @@ |
// Receive the data pipe from the other side. |
MojoHandle consumer = MOJO_HANDLE_INVALID; |
MojoHandleSignalsState hss = MojoHandleSignalsState(); |
- ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(client_mp, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ ASSERT_EQ(MOJO_RESULT_OK, MojoWait(client_mp, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
MojoHandle handles[2]; |
uint32_t num_handles = arraysize(handles); |
ASSERT_EQ(MOJO_RESULT_OK, |
@@ -1817,8 +1880,8 @@ |
// Receive the producer from the other side. |
MojoHandle producer = MOJO_HANDLE_INVALID; |
hss = MojoHandleSignalsState(); |
- ASSERT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(client_mp, MOJO_HANDLE_SIGNAL_READABLE, &hss)); |
+ ASSERT_EQ(MOJO_RESULT_OK, MojoWait(client_mp, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, &hss)); |
num_handles = arraysize(handles); |
ASSERT_EQ(MOJO_RESULT_OK, |
MojoReadMessage(client_mp, nullptr, 0, handles, &num_handles, |
@@ -1858,7 +1921,8 @@ |
std::string expected_message = ReadMessageWithHandles(h, &c, 1); |
// Wait for the consumer to become readable. |
- EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(c, MOJO_HANDLE_SIGNAL_READABLE)); |
+ EXPECT_EQ(MOJO_RESULT_OK, MojoWait(c, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
// Drain the consumer and expect to find the given message. |
uint32_t num_bytes = static_cast<uint32_t>(expected_message.size()); |
@@ -1925,7 +1989,8 @@ |
std::string expected_message = ReadMessageWithHandles(child, &c, 1); |
// Wait for the consumer to become readable. |
- EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(c, MOJO_HANDLE_SIGNAL_READABLE)); |
+ EXPECT_EQ(MOJO_RESULT_OK, MojoWait(c, MOJO_HANDLE_SIGNAL_READABLE, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
// Drain the consumer and expect to find the given message. |
uint32_t num_bytes = static_cast<uint32_t>(expected_message.size()); |
@@ -1952,13 +2017,15 @@ |
MojoHandle* producers = &handles[0]; |
MojoHandle* consumers = &handles[3]; |
- // Wait on producer 0 |
+ // Wait on producer 0 using MojoWait. |
EXPECT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(producers[0], MOJO_HANDLE_SIGNAL_PEER_CLOSED)); |
- |
- // Wait on consumer 0 |
+ MojoWait(producers[0], MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
+ |
+ // Wait on consumer 0 using MojoWait. |
EXPECT_EQ(MOJO_RESULT_OK, |
- WaitForSignals(consumers[0], MOJO_HANDLE_SIGNAL_PEER_CLOSED)); |
+ MojoWait(consumers[0], MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ MOJO_DEADLINE_INDEFINITE, nullptr)); |
base::MessageLoop message_loop; |