Index: third_party/mojo/src/mojo/edk/system/connection_manager_unittest.cc |
diff --git a/third_party/mojo/src/mojo/edk/system/connection_manager_unittest.cc b/third_party/mojo/src/mojo/edk/system/connection_manager_unittest.cc |
index cb22ef3401e20c7383cc627834d67f0816713315..20fa73e33243ac8861bb60cd45617b892347b2f4 100644 |
--- a/third_party/mojo/src/mojo/edk/system/connection_manager_unittest.cc |
+++ b/third_party/mojo/src/mojo/edk/system/connection_manager_unittest.cc |
@@ -226,12 +226,14 @@ TEST_F(ConnectionManagerTest, BasicConnectSlaves) { |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
- EXPECT_TRUE(slave1.Connect(connection_id, &peer1, &h1)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave1.Connect(connection_id, &peer1, &h1)); |
EXPECT_EQ(slave2_id, peer1); |
EXPECT_TRUE(h1.is_valid()); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_TRUE(slave2.Connect(connection_id, &peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave2.Connect(connection_id, &peer2, &h2)); |
EXPECT_EQ(slave1_id, peer2); |
EXPECT_TRUE(h2.is_valid()); |
@@ -319,7 +321,8 @@ TEST_F(ConnectionManagerTest, SlaveCancelConnect) { |
EXPECT_TRUE(slave1.CancelConnect(connection_id)); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_FALSE(slave2.Connect(connection_id, &peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::FAILURE, |
+ slave2.Connect(connection_id, &peer2, &h2)); |
EXPECT_EQ(kInvalidProcessIdentifier, peer2); |
EXPECT_FALSE(h2.is_valid()); |
@@ -361,7 +364,8 @@ TEST_F(ConnectionManagerTest, ErrorRemovePending) { |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_FALSE(slave2.Connect(connection_id, &peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::FAILURE, |
+ slave2.Connect(connection_id, &peer2, &h2)); |
EXPECT_EQ(kInvalidProcessIdentifier, peer2); |
EXPECT_FALSE(h2.is_valid()); |
@@ -384,16 +388,16 @@ TEST_F(ConnectionManagerTest, ConnectSlaveToSelf) { |
EXPECT_TRUE(slave.AllowConnect(connection_id)); |
EXPECT_TRUE(slave.AllowConnect(connection_id)); |
- // Currently, the connect-to-self case is signalled by the master not sending |
- // back a handle. |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
- EXPECT_TRUE(slave.Connect(connection_id, &peer1, &h1)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_SAME_PROCESS, |
+ slave.Connect(connection_id, &peer1, &h1)); |
EXPECT_EQ(slave_id, peer1); |
EXPECT_FALSE(h1.is_valid()); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_TRUE(slave.Connect(connection_id, &peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_SAME_PROCESS, |
+ slave.Connect(connection_id, &peer2, &h2)); |
EXPECT_EQ(slave_id, peer2); |
EXPECT_FALSE(h2.is_valid()); |
@@ -425,30 +429,36 @@ TEST_F(ConnectionManagerTest, ConnectSlavesTwice) { |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
- EXPECT_TRUE(slave1.Connect(connection_id, &peer1, &h1)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave1.Connect(connection_id, &peer1, &h1)); |
EXPECT_EQ(slave2_id, peer1); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_TRUE(slave2.Connect(connection_id, &peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave2.Connect(connection_id, &peer2, &h2)); |
EXPECT_EQ(slave1_id, peer2); |
EXPECT_TRUE(ArePlatformHandlesConnected(h1.get(), h2.get())); |
- // Currently, the master doesn't detect the case of connecting a pair of |
- // slaves that are already connected. (Doing so would require more careful |
- // tracking and is prone to races -- especially if we want slaves to be able |
- // to tear down no-longer-needed connections.) But the slaves should be able |
- // to do the tracking themselves (using the peer process identifiers). |
+ // TODO(vtl): Currently, the master doesn't detect the case of connecting a |
+ // pair of slaves that are already connected. (Doing so would require more |
+ // careful tracking and is prone to races -- especially if we want slaves to |
+ // be able to tear down no-longer-needed connections.) But the slaves should |
+ // be able to do the tracking themselves (using the peer process identifiers). |
connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(slave1.AllowConnect(connection_id)); |
EXPECT_TRUE(slave2.AllowConnect(connection_id)); |
h1.reset(); |
h2.reset(); |
+ // TODO(vtl): FIXME -- this will break when I implemented |
+ // SUCCESS_CONNECT_REUSE_CONNECTION. |
ProcessIdentifier second_peer2 = kInvalidProcessIdentifier; |
- EXPECT_TRUE(slave2.Connect(connection_id, &second_peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave2.Connect(connection_id, &second_peer2, &h2)); |
ProcessIdentifier second_peer1 = kInvalidProcessIdentifier; |
- EXPECT_TRUE(slave1.Connect(connection_id, &second_peer1, &h1)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave1.Connect(connection_id, &second_peer1, &h1)); |
EXPECT_EQ(peer1, second_peer1); |
EXPECT_EQ(peer2, second_peer2); |
@@ -476,12 +486,14 @@ TEST_F(ConnectionManagerTest, ConnectMasterToSlave) { |
ProcessIdentifier master_peer = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle master_h; |
- EXPECT_TRUE(master.Connect(connection_id, &master_peer, &master_h)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ master.Connect(connection_id, &master_peer, &master_h)); |
EXPECT_EQ(slave_id, master_peer); |
EXPECT_TRUE(master_h.is_valid()); |
ProcessIdentifier slave_peer = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle slave_h; |
- EXPECT_TRUE(slave.Connect(connection_id, &slave_peer, &slave_h)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave.Connect(connection_id, &slave_peer, &slave_h)); |
EXPECT_EQ(kMasterProcessIdentifier, slave_peer); |
EXPECT_TRUE(slave_h.is_valid()); |
@@ -500,16 +512,16 @@ TEST_F(ConnectionManagerTest, ConnectMasterToSelf) { |
EXPECT_TRUE(master.AllowConnect(connection_id)); |
EXPECT_TRUE(master.AllowConnect(connection_id)); |
- // Currently, the connect-to-self case is signalled by the master not sending |
- // back a handle. |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
- EXPECT_TRUE(master.Connect(connection_id, &peer1, &h1)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_SAME_PROCESS, |
+ master.Connect(connection_id, &peer1, &h1)); |
EXPECT_EQ(kMasterProcessIdentifier, peer1); |
EXPECT_FALSE(h1.is_valid()); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_TRUE(master.Connect(connection_id, &peer2, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_SAME_PROCESS, |
+ master.Connect(connection_id, &peer2, &h2)); |
EXPECT_EQ(kMasterProcessIdentifier, peer2); |
EXPECT_FALSE(h2.is_valid()); |
@@ -536,7 +548,8 @@ TEST_F(ConnectionManagerTest, MasterCancelConnect) { |
EXPECT_TRUE(master.CancelConnect(connection_id)); |
ProcessIdentifier peer = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h; |
- EXPECT_FALSE(slave.Connect(connection_id, &peer, &h)); |
+ EXPECT_EQ(ConnectionManager::Result::FAILURE, |
+ slave.Connect(connection_id, &peer, &h)); |
EXPECT_EQ(kInvalidProcessIdentifier, peer); |
EXPECT_FALSE(h.is_valid()); |
@@ -573,7 +586,8 @@ TEST_F(ConnectionManagerTest, AddSlaveAndBootstrap) { |
embedder::ScopedPlatformHandle h1; |
ProcessIdentifier master_peer = kInvalidProcessIdentifier; |
- EXPECT_TRUE(master.Connect(connection_id, &master_peer, &h1)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ master.Connect(connection_id, &master_peer, &h1)); |
EXPECT_EQ(slave_id, master_peer); |
EXPECT_TRUE(h1.is_valid()); |
@@ -585,7 +599,8 @@ TEST_F(ConnectionManagerTest, AddSlaveAndBootstrap) { |
ProcessIdentifier slave_peer = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
- EXPECT_TRUE(slave.Connect(connection_id, &slave_peer, &h2)); |
+ EXPECT_EQ(ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION, |
+ slave.Connect(connection_id, &slave_peer, &h2)); |
EXPECT_EQ(kMasterProcessIdentifier, slave_peer); |
EXPECT_TRUE(ArePlatformHandlesConnected(h1.get(), h2.get())); |