| Index: mojo/edk/system/message_pipe_unittest.cc
|
| diff --git a/mojo/edk/system/message_pipe_unittest.cc b/mojo/edk/system/message_pipe_unittest.cc
|
| index 030084b6ee5a3e7d08de1894e641b8ec2246b5b5..a1bc9ffc6ad9d9be1248eebf5c0a91fdbac39a44 100644
|
| --- a/mojo/edk/system/message_pipe_unittest.cc
|
| +++ b/mojo/edk/system/message_pipe_unittest.cc
|
| @@ -15,6 +15,10 @@ namespace mojo {
|
| namespace system {
|
| namespace {
|
|
|
| +const MojoHandleSignals kAllSignals = MOJO_HANDLE_SIGNAL_READABLE |
|
| + MOJO_HANDLE_SIGNAL_WRITABLE |
|
| + MOJO_HANDLE_SIGNAL_CLOSED;
|
| +
|
| // Tests:
|
| // - only default flags
|
| // - reading messages from a port
|
| @@ -335,8 +339,7 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| EXPECT_EQ(MOJO_RESULT_ALREADY_EXISTS,
|
| mp->AddWaiter(0, &waiter, MOJO_HANDLE_SIGNAL_WRITABLE, 0, &hss));
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
| waiter.Init();
|
| hss = HandleSignalsState();
|
| EXPECT_EQ(MOJO_RESULT_ALREADY_EXISTS,
|
| @@ -344,8 +347,7 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| MOJO_HANDLE_SIGNAL_WRITABLE,
|
| 0, &hss));
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Not yet readable.
|
| waiter.Init();
|
| @@ -355,8 +357,7 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| hss = HandleSignalsState();
|
| mp->RemoveWaiter(0, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Write from port 0 (to port 1), to make port 1 readable.
|
| buffer[0] = 123456789;
|
| @@ -371,8 +372,7 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| mp->AddWaiter(1, &waiter, MOJO_HANDLE_SIGNAL_READABLE, 2, &hss));
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
| waiter.Init();
|
| hss = HandleSignalsState();
|
| EXPECT_EQ(MOJO_RESULT_ALREADY_EXISTS,
|
| @@ -381,8 +381,7 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| 0, &hss));
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
| // ... and still writable.
|
| waiter.Init();
|
| hss = HandleSignalsState();
|
| @@ -390,8 +389,7 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| mp->AddWaiter(1, &waiter, MOJO_HANDLE_SIGNAL_WRITABLE, 3, &hss));
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Close port 0.
|
| mp->Close(0);
|
| @@ -401,16 +399,20 @@ TEST(MessagePipeTest, BasicWaiting) {
|
| hss = HandleSignalsState();
|
| EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| mp->AddWaiter(1, &waiter, MOJO_HANDLE_SIGNAL_WRITABLE, 4, &hss));
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfiable_signals);
|
|
|
| // But it should still be readable.
|
| waiter.Init();
|
| hss = HandleSignalsState();
|
| EXPECT_EQ(MOJO_RESULT_ALREADY_EXISTS,
|
| mp->AddWaiter(1, &waiter, MOJO_HANDLE_SIGNAL_READABLE, 5, &hss));
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfiable_signals);
|
|
|
| // Read from port 1.
|
| buffer[0] = 0;
|
| @@ -460,8 +462,7 @@ TEST(MessagePipeTest, ThreadedWaiting) {
|
| mp->RemoveWaiter(1, thread.waiter(), &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| mp->Close(0);
|
| mp->Close(1);
|
| @@ -511,8 +512,8 @@ TEST(MessagePipeTest, ThreadedWaiting) {
|
|
|
| HandleSignalsState hss;
|
| mp->RemoveWaiter(1, thread.waiter(), &hss);
|
| - EXPECT_EQ(0u, hss.satisfied_signals);
|
| - EXPECT_EQ(0u, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfiable_signals);
|
|
|
| mp->CancelAllWaiters(1);
|
| mp->Close(1);
|
|
|