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

Unified Diff: mojo/edk/system/data_pipe_impl_unittest.cc

Issue 2075353002: Plumb the handle signals state out of Waiter::Wait(). (Closed) Base URL: https://github.com/domokit/mojo.git@work795_wait_set_4.3-x-work794_wait_set_4.2
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: mojo/edk/system/data_pipe_impl_unittest.cc
diff --git a/mojo/edk/system/data_pipe_impl_unittest.cc b/mojo/edk/system/data_pipe_impl_unittest.cc
index 548192a5cf54c60aa59e1d5a4cbe4d3f2421a71f..a7105c07f0ee52ac4493081a15397f081b3cf1cb 100644
--- a/mojo/edk/system/data_pipe_impl_unittest.cc
+++ b/mojo/edk/system/data_pipe_impl_unittest.cc
@@ -295,7 +295,8 @@ class RemoteDataPipeImplTestHelper : public DataPipeImplTestHelper {
transport.End();
}
uint64_t context = 0;
- ASSERT_EQ(MOJO_RESULT_OK, waiter.Wait(test::ActionTimeout(), &context));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::ActionTimeout(), &context, nullptr));
EXPECT_EQ(987u, context);
HandleSignalsState hss = HandleSignalsState();
message_pipe(dest_i)->RemoveAwakable(0, &waiter, &hss);
@@ -687,7 +688,8 @@ TYPED_TEST(DataPipeImplTest, SimpleReadWrite) {
// Wait.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::ActionTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::ActionTimeout(), &context, nullptr));
EXPECT_EQ(123u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -835,7 +837,7 @@ TYPED_TEST(DataPipeImplTest, BasicProducerWaiting) {
this->ProducerAddAwakable(&pwaiter, MOJO_HANDLE_SIGNAL_WRITABLE,
false, 56, nullptr));
// And it shouldn't be writable yet.
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, pwaiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, pwaiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&pwaiter, &hss);
EXPECT_EQ(0u, hss.satisfied_signals);
@@ -845,7 +847,8 @@ TYPED_TEST(DataPipeImplTest, BasicProducerWaiting) {
// Wait for data to become available to the consumer.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, cwaiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ cwaiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(1234u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&cwaiter, &hss);
@@ -872,7 +875,7 @@ TYPED_TEST(DataPipeImplTest, BasicProducerWaiting) {
this->ProducerAddAwakable(&pwaiter, MOJO_HANDLE_SIGNAL_WRITABLE,
false, 56, nullptr));
// And it still shouldn't be writable yet.
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, pwaiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, pwaiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&pwaiter, &hss);
EXPECT_EQ(0u, hss.satisfied_signals);
@@ -899,7 +902,8 @@ TYPED_TEST(DataPipeImplTest, BasicProducerWaiting) {
// Waiting should now succeed.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, pwaiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ pwaiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(78u, context);
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&pwaiter, &hss);
@@ -945,7 +949,8 @@ TYPED_TEST(DataPipeImplTest, BasicProducerWaiting) {
// Waiting should succeed.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, pwaiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ pwaiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(90u, context);
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&pwaiter, &hss);
@@ -975,7 +980,7 @@ TYPED_TEST(DataPipeImplTest, BasicProducerWaiting) {
// It should now be never-writable.
context = 0;
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- pwaiter.Wait(test::TinyTimeout(), &context));
+ pwaiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(12u, context);
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&pwaiter, &hss);
@@ -1010,7 +1015,8 @@ TYPED_TEST(DataPipeImplTest, PeerClosedProducerWaiting) {
// It should be signaled.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(12u, context);
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter, &hss);
@@ -1045,7 +1051,8 @@ TYPED_TEST(DataPipeImplTest, PeerClosedConsumerWaiting) {
// It should be signaled.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(12u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -1096,7 +1103,8 @@ TYPED_TEST(DataPipeImplTest, BasicConsumerWaiting) {
// Wait for readability (needed for remote cases).
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(34u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -1174,7 +1182,8 @@ TYPED_TEST(DataPipeImplTest, BasicConsumerWaiting) {
// Waiting should now succeed.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(90u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -1209,7 +1218,8 @@ TYPED_TEST(DataPipeImplTest, BasicConsumerWaiting) {
// Wait for the peer closed signal.
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(12u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -1282,7 +1292,8 @@ TYPED_TEST(DataPipeImplTest, ConsumerWaitingTwoPhase) {
// Wait for readability (needed for remote cases).
context = 0;
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), &context));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(12u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -1343,7 +1354,7 @@ TYPED_TEST(DataPipeImplTest, ConsumerWaitingTwoPhase) {
// Should be never-readable.
context = 0;
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- waiter.Wait(test::TinyTimeout(), &context));
+ waiter.Wait(test::TinyTimeout(), &context, nullptr));
EXPECT_EQ(56u, context);
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
@@ -1393,7 +1404,7 @@ TYPED_TEST(DataPipeImplTest, BasicTwoPhaseWaiting) {
ASSERT_EQ(MOJO_RESULT_OK,
this->ProducerAddAwakable(&pwaiter, MOJO_HANDLE_SIGNAL_WRITABLE,
false, 1, nullptr));
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, pwaiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, pwaiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&pwaiter, &hss);
EXPECT_EQ(0u, hss.satisfied_signals);
@@ -1424,7 +1435,8 @@ TYPED_TEST(DataPipeImplTest, BasicTwoPhaseWaiting) {
hss.satisfiable_signals);
// It should become readable.
- EXPECT_EQ(MOJO_RESULT_OK, cwaiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ cwaiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&cwaiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -1484,7 +1496,7 @@ TYPED_TEST(DataPipeImplTest, BasicTwoPhaseWaiting) {
ASSERT_EQ(MOJO_RESULT_OK,
this->ConsumerAddAwakable(&cwaiter, MOJO_HANDLE_SIGNAL_READABLE,
false, 7, nullptr));
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, cwaiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, cwaiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&cwaiter, &hss);
EXPECT_EQ(0u, hss.satisfied_signals);
@@ -1562,7 +1574,7 @@ TYPED_TEST(DataPipeImplTest, AllOrNone) {
// available at once (except that in current implementations, with reasonable
// limits, it will). Eventually, we'll be able to wait for a specified amount
// of data to become available.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -1675,7 +1687,7 @@ TYPED_TEST(DataPipeImplTest, AllOrNone) {
this->ProducerClose();
// Wait.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED |
@@ -1767,7 +1779,7 @@ TYPED_TEST(DataPipeImplTest, WrapAround) {
// Wait for data.
// TODO(vtl): (See corresponding TODO in AllOrNone.)
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -1981,7 +1993,7 @@ TYPED_TEST(DataPipeImplTest, TwoPhaseWriteReadCloseConsumer) {
// Wait for data.
// TODO(vtl): (See corresponding TODO in AllOrNone.)
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -2009,7 +2021,7 @@ TYPED_TEST(DataPipeImplTest, TwoPhaseWriteReadCloseConsumer) {
this->ConsumerClose();
// Wait for producer to know that the consumer is closed.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2101,7 +2113,7 @@ TYPED_TEST(DataPipeImplTest, WriteCloseProducerReadNoData) {
// Wait. (Note that once the consumer knows that the producer is closed, it
// must also know about all the data that was sent.)
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED |
@@ -2182,7 +2194,7 @@ TYPED_TEST(DataPipeImplTest, WriteReadCloseProducerWaitNoData) {
EXPECT_EQ(kTestDataSize, num_bytes);
// Wait.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -2211,7 +2223,7 @@ TYPED_TEST(DataPipeImplTest, WriteReadCloseProducerWaitNoData) {
// Wait.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- waiter.Wait(test::TinyTimeout(), nullptr));
+ waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2253,7 +2265,7 @@ TYPED_TEST(DataPipeImplTest, BeginReadCloseProducerWaitEndReadNoData) {
EXPECT_EQ(kTestDataSize, num_bytes);
// Wait.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -2281,7 +2293,7 @@ TYPED_TEST(DataPipeImplTest, BeginReadCloseProducerWaitEndReadNoData) {
this->ProducerClose();
// Wait for producer close to be detected.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2300,7 +2312,7 @@ TYPED_TEST(DataPipeImplTest, BeginReadCloseProducerWaitEndReadNoData) {
// Wait.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- waiter.Wait(test::TinyTimeout(), nullptr));
+ waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2352,7 +2364,8 @@ TYPED_TEST(DataPipeImplTest, BeginWriteCloseConsumerWaitEndWrite) {
// Note: If we didn't wait for the consumer close to be detected before
// completing the two-phase write, wait might succeed (in the remote cases).
// This is because the first |Awake()| "wins".
- EXPECT_EQ(MOJO_RESULT_OK, waiter1.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ waiter1.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter1, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2363,7 +2376,7 @@ TYPED_TEST(DataPipeImplTest, BeginWriteCloseConsumerWaitEndWrite) {
// Wait.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- waiter2.Wait(test::TinyTimeout(), nullptr));
+ waiter2.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter2, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2466,7 +2479,7 @@ TYPED_TEST(DataPipeImplTest, TwoPhaseMoreInvalidArguments) {
// Wait for data.
// TODO(vtl): (See corresponding TODO in AllOrNone.)
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -2663,7 +2676,7 @@ TYPED_TEST(DataPipeImplTest, WriteThreshold) {
ASSERT_EQ(MOJO_RESULT_OK, this->ProducerAddAwakable(
&waiter, MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD,
false, 0, nullptr));
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
@@ -2678,7 +2691,8 @@ TYPED_TEST(DataPipeImplTest, WriteThreshold) {
false, 0, nullptr));
// Wait for the consumer to be readable.
- EXPECT_EQ(MOJO_RESULT_OK, read_waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ read_waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
this->ConsumerRemoveAwakable(&read_waiter, nullptr);
// Read a byte.
@@ -2691,7 +2705,7 @@ TYPED_TEST(DataPipeImplTest, WriteThreshold) {
EXPECT_EQ(kTestData[0], read_byte);
// Wait; should get the write threshold signal.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD,
@@ -2713,7 +2727,7 @@ TYPED_TEST(DataPipeImplTest, WriteThreshold) {
ASSERT_EQ(MOJO_RESULT_OK, this->ProducerAddAwakable(
&waiter, MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD,
false, 0, nullptr));
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr, nullptr));
this->ProducerRemoveAwakable(&waiter, nullptr);
// Set the write threshold to 0 (which means the element size, 1).
@@ -2727,7 +2741,7 @@ TYPED_TEST(DataPipeImplTest, WriteThreshold) {
ASSERT_EQ(MOJO_RESULT_OK, this->ProducerAddAwakable(
&waiter, MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD,
false, 0, nullptr));
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr, nullptr));
this->ProducerRemoveAwakable(&waiter, nullptr);
// Add a waiter.
@@ -2741,7 +2755,7 @@ TYPED_TEST(DataPipeImplTest, WriteThreshold) {
// Wait; the condition should now never be satisfiable.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- waiter.Wait(test::TinyTimeout(), nullptr));
+ waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ProducerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
@@ -2775,7 +2789,7 @@ TYPED_TEST(DataPipeImplTest, ReadThreshold) {
this->ConsumerAddAwakable(
&waiter, MOJO_HANDLE_SIGNAL_READ_THRESHOLD, false, 0, nullptr));
// Trivial wait: it shouldn't have the read threshold signal.
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(0u, hss.satisfied_signals);
@@ -2799,7 +2813,7 @@ TYPED_TEST(DataPipeImplTest, ReadThreshold) {
EXPECT_EQ(kTestDataSize, num_bytes);
// Wait for the read threshold signal.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -2847,7 +2861,7 @@ TYPED_TEST(DataPipeImplTest, ReadThreshold) {
EXPECT_EQ(kTestDataSize, num_bytes);
// Wait for the read threshold signal.
- EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_READ_THRESHOLD,
@@ -2871,7 +2885,7 @@ TYPED_TEST(DataPipeImplTest, ReadThreshold) {
this->ConsumerAddAwakable(
&waiter, MOJO_HANDLE_SIGNAL_READ_THRESHOLD, false, 0, nullptr));
// Trivial wait: it shouldn't have the read threshold signal.
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals);
@@ -2885,7 +2899,7 @@ TYPED_TEST(DataPipeImplTest, ReadThreshold) {
this->ConsumerAddAwakable(
&waiter, MOJO_HANDLE_SIGNAL_READ_THRESHOLD, false, 0, nullptr));
// Trivial wait: it shouldn't have the read threshold signal.
- EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr));
+ EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, waiter.Wait(0, nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals);
@@ -2904,7 +2918,7 @@ TYPED_TEST(DataPipeImplTest, ReadThreshold) {
// Wait; the current read threshold becomes never satisfiable.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- waiter.Wait(test::TinyTimeout(), nullptr));
+ waiter.Wait(test::TinyTimeout(), nullptr, nullptr));
hss = HandleSignalsState();
this->ConsumerRemoveAwakable(&waiter, &hss);
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,

Powered by Google App Engine
This is Rietveld 408576698