Index: mojo/edk/system/remote_message_pipe_unittest.cc |
diff --git a/mojo/edk/system/remote_message_pipe_unittest.cc b/mojo/edk/system/remote_message_pipe_unittest.cc |
index 63faa898b0906cf5ff830f6992dd92d5acb7b15a..7d91d57720a1608db97d0fffec3a9ce9b2dd3e8f 100644 |
--- a/mojo/edk/system/remote_message_pipe_unittest.cc |
+++ b/mojo/edk/system/remote_message_pipe_unittest.cc |
@@ -50,10 +50,6 @@ namespace mojo { |
namespace system { |
namespace { |
-const MojoHandleSignals kAllSignals = MOJO_HANDLE_SIGNAL_READABLE | |
- MOJO_HANDLE_SIGNAL_WRITABLE | |
- MOJO_HANDLE_SIGNAL_PEER_CLOSED; |
- |
class RemoteMessagePipeTest : public testing::Test { |
public: |
RemoteMessagePipeTest() |
@@ -216,7 +212,9 @@ TEST_F(RemoteMessagePipeTest, Basic) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 1, port 1. |
EXPECT_EQ(MOJO_RESULT_OK, |
@@ -244,7 +242,9 @@ TEST_F(RemoteMessagePipeTest, Basic) { |
mp0->RemoveAwakable(0, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
buffer_size = static_cast<uint32_t>(sizeof(buffer)); |
EXPECT_EQ(MOJO_RESULT_OK, |
@@ -368,7 +368,9 @@ TEST_F(RemoteMessagePipeTest, Multiplex) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
EXPECT_EQ(endpoint_info_size, channels(1)->GetSerializedEndpointSize()); |
std::unique_ptr<char[]> received_endpoint_info(new char[endpoint_info_size]); |
@@ -406,7 +408,9 @@ TEST_F(RemoteMessagePipeTest, Multiplex) { |
mp3->RemoveAwakable(0, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Make sure there's nothing on MP 0, port 0 or MP 1, port 1 or MP 2, port 0. |
buffer_size = static_cast<uint32_t>(sizeof(buffer)); |
@@ -452,7 +456,8 @@ TEST_F(RemoteMessagePipeTest, Multiplex) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
hss.satisfiable_signals); |
// Make sure there's nothing on the other ports. |
@@ -627,9 +632,8 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) { |
MessagePipeDispatcher::kDefaultCreateOptions); |
auto local_mp = MessagePipe::CreateLocalLocal(); |
dispatcher->Init(local_mp.Clone(), 0); |
- Handle handle(std::move(dispatcher), MOJO_HANDLE_RIGHT_TRANSFER | |
- MOJO_HANDLE_RIGHT_READ | |
- MOJO_HANDLE_RIGHT_WRITE); |
+ Handle handle(std::move(dispatcher), |
+ MessagePipeDispatcher::kDefaultHandleRights); |
// Prepare to wait on MP 1, port 1. (Add the waiter now. Otherwise, if we do |
// it later, it might already be readable.) |
@@ -664,7 +668,9 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 1, port 1. |
char read_buffer[100] = {0}; |
@@ -709,7 +715,9 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) { |
dispatcher->RemoveAwakable(&waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from the dispatcher. |
memset(read_buffer, 0, sizeof(read_buffer)); |
@@ -739,7 +747,9 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) { |
local_mp->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from "local_mp", port 1. |
memset(read_buffer, 0, sizeof(read_buffer)); |
@@ -774,13 +784,14 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) { |
MessagePipeDispatcher::kDefaultCreateOptions); |
auto local_mp = MessagePipe::CreateLocalLocal(); |
dispatcher->Init(local_mp.Clone(), 0); |
- Handle handle(std::move(dispatcher), MOJO_HANDLE_RIGHT_TRANSFER | |
- MOJO_HANDLE_RIGHT_READ | |
- MOJO_HANDLE_RIGHT_WRITE); |
+ Handle handle(std::move(dispatcher), |
+ MessagePipeDispatcher::kDefaultHandleRights); |
hss = local_mp->GetHandleSignalsState(0); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Write to the other end (|local_mp|, port 1), and then close it. |
EXPECT_EQ( |
MOJO_RESULT_OK, |
@@ -789,7 +800,9 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) { |
hss = local_mp->GetHandleSignalsState(0); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Then the second message.... |
EXPECT_EQ( |
MOJO_RESULT_OK, |
@@ -798,7 +811,9 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) { |
hss = local_mp->GetHandleSignalsState(0); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Then close it. |
local_mp->Close(1); |
@@ -841,7 +856,9 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 1, port 1. |
char read_buffer[100] = {0}; |
@@ -925,8 +942,7 @@ TEST_F(RemoteMessagePipeTest, SharedBufferPassing) { |
EXPECT_EQ(MOJO_RESULT_OK, result); |
ASSERT_TRUE(dispatcher); |
Handle handle(std::move(dispatcher), |
- MOJO_HANDLE_RIGHT_DUPLICATE | MOJO_HANDLE_RIGHT_TRANSFER | |
- MOJO_HANDLE_RIGHT_READ | MOJO_HANDLE_RIGHT_WRITE); |
+ SharedBufferDispatcher::kDefaultHandleRights); |
// Make a mapping. |
std::unique_ptr<PlatformSharedBufferMapping> mapping0; |
@@ -972,7 +988,9 @@ TEST_F(RemoteMessagePipeTest, SharedBufferPassing) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 1, port 1. |
char read_buffer[100] = {0}; |
@@ -1047,10 +1065,8 @@ TEST_F(RemoteMessagePipeTest, PlatformHandlePassing) { |
// be passed. |
auto dispatcher = |
PlatformHandleDispatcher::Create(PlatformHandleFromFILE(std::move(fp))); |
- // TODO(vtl): Are these the correct rights for a |PlatformHandleDispatcher|? |
- Handle handle(std::move(dispatcher), MOJO_HANDLE_RIGHT_TRANSFER | |
- MOJO_HANDLE_RIGHT_READ | |
- MOJO_HANDLE_RIGHT_WRITE); |
+ Handle handle(std::move(dispatcher), |
+ PlatformHandleDispatcher::kDefaultHandleRights); |
// Prepare to wait on MP 1, port 1. (Add the waiter now. Otherwise, if we do |
// it later, it might already be readable.) |
@@ -1085,7 +1101,9 @@ TEST_F(RemoteMessagePipeTest, PlatformHandlePassing) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 1, port 1. |
char read_buffer[100] = {0}; |
@@ -1185,9 +1203,8 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) { |
MessagePipeDispatcher::kDefaultCreateOptions); |
auto local_mp = MessagePipe::CreateLocalLocal(); |
dispatcher->Init(local_mp.Clone(), 0); |
- Handle handle(std::move(dispatcher), MOJO_HANDLE_RIGHT_TRANSFER | |
- MOJO_HANDLE_RIGHT_READ | |
- MOJO_HANDLE_RIGHT_WRITE); |
+ Handle handle(std::move(dispatcher), |
+ MessagePipeDispatcher::kDefaultHandleRights); |
// Prepare to wait on MP 1, port 1. (Add the waiter now. Otherwise, if we do |
// it later, it might already be readable.) |
@@ -1222,7 +1239,9 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) { |
mp1->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 1, port 1. |
char read_buffer[100] = {0}; |
@@ -1246,9 +1265,8 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) { |
static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get())); |
read_dispatchers.clear(); |
// TODO(vtl): We should really get |handle| from |ReadMessage()|. |
- handle = Handle(std::move(dispatcher), MOJO_HANDLE_RIGHT_TRANSFER | |
- MOJO_HANDLE_RIGHT_READ | |
- MOJO_HANDLE_RIGHT_WRITE); |
+ handle = Handle(std::move(dispatcher), |
+ MessagePipeDispatcher::kDefaultHandleRights); |
// Now pass it back. |
@@ -1285,7 +1303,9 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) { |
mp0->RemoveAwakable(0, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from MP 0, port 0. |
read_buffer_size = static_cast<uint32_t>(sizeof(read_buffer)); |
@@ -1326,7 +1346,9 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) { |
dispatcher->RemoveAwakable(&waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from the dispatcher. |
memset(read_buffer, 0, sizeof(read_buffer)); |
@@ -1356,7 +1378,9 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) { |
local_mp->RemoveAwakable(1, &waiter, &hss); |
EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
hss.satisfied_signals); |
- EXPECT_EQ(kAllSignals, hss.satisfiable_signals); |
+ EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE | |
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
+ hss.satisfiable_signals); |
// Read from "local_mp", port 1. |
memset(read_buffer, 0, sizeof(read_buffer)); |