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 0d8f4795ae845cc90bba62984b9099a776d10f2f..2545788bbf01f73ab89e808ea2d83e2040127268 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 |
@@ -84,12 +84,10 @@ class TestSlaveInfo { |
void ConnectSlave(MasterConnectionManager* master, |
embedder::SlaveProcessDelegate* slave_process_delegate, |
SlaveConnectionManager* slave, |
- const std::string& slave_name, |
- ProcessIdentifier* slave_process_identifier) { |
+ const std::string& slave_name) { |
embedder::PlatformChannelPair platform_channel_pair; |
master->AddSlave(new TestSlaveInfo(slave_name), |
- platform_channel_pair.PassServerHandle(), |
- slave_process_identifier); |
+ platform_channel_pair.PassServerHandle()); |
slave->Init(base::MessageLoop::current()->task_runner(), |
slave_process_delegate, platform_channel_pair.PassClientHandle()); |
} |
@@ -207,20 +205,11 @@ TEST_F(ConnectionManagerTest, BasicConnectSlaves) { |
MockSlaveProcessDelegate slave1_process_delegate; |
SlaveConnectionManager slave1(platform_support()); |
- ProcessIdentifier slave1_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1", |
- &slave1_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave1_id)); |
+ ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1"); |
MockSlaveProcessDelegate slave2_process_delegate; |
SlaveConnectionManager slave2(platform_support()); |
- ProcessIdentifier slave2_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2", |
- &slave2_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave2_id)); |
- // TODO(vtl): If/when I add the ability to get one's own process identifier, |
- // there'll be more we can check. |
- EXPECT_NE(slave1_id, slave2_id); |
+ ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(slave1.AllowConnect(connection_id)); |
@@ -229,14 +218,17 @@ TEST_F(ConnectionManagerTest, BasicConnectSlaves) { |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
EXPECT_TRUE(slave1.Connect(connection_id, &peer1, &h1)); |
- EXPECT_EQ(slave2_id, peer1); |
+ EXPECT_TRUE(IsValidSlaveProcessIdentifier(peer1)); |
EXPECT_TRUE(h1.is_valid()); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
EXPECT_TRUE(slave2.Connect(connection_id, &peer2, &h2)); |
- EXPECT_EQ(slave1_id, peer2); |
+ EXPECT_TRUE(IsValidSlaveProcessIdentifier(peer2)); |
EXPECT_TRUE(h2.is_valid()); |
+ // TODO(vtl): If/when I add the ability to get one's own process identifier, |
+ // there'll be more we can check. |
+ EXPECT_NE(peer1, peer2); |
EXPECT_TRUE(ArePlatformHandlesConnected(h1.get(), h2.get())); |
// The process manager shouldn't have gotten any notifications yet. (Spin the |
@@ -273,9 +265,7 @@ TEST_F(ConnectionManagerTest, ShutdownMasterBeforeSlave) { |
MockSlaveProcessDelegate slave_process_delegate; |
SlaveConnectionManager slave(platform_support()); |
- ProcessIdentifier slave_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave_process_delegate, &slave, "slave", &slave_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave_id)); |
+ ConnectSlave(&master, &slave_process_delegate, &slave, "slave"); |
// The process manager shouldn't have gotten any notifications yet. (Spin the |
// message loop to make sure none were enqueued.) |
@@ -303,18 +293,11 @@ TEST_F(ConnectionManagerTest, SlaveCancelConnect) { |
MockSlaveProcessDelegate slave1_process_delegate; |
SlaveConnectionManager slave1(platform_support()); |
- ProcessIdentifier slave1_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1", |
- &slave1_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave1_id)); |
+ ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1"); |
MockSlaveProcessDelegate slave2_process_delegate; |
SlaveConnectionManager slave2(platform_support()); |
- ProcessIdentifier slave2_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2", |
- &slave2_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave2_id)); |
- EXPECT_NE(slave1_id, slave2_id); |
+ ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(slave1.AllowConnect(connection_id)); |
@@ -340,18 +323,11 @@ TEST_F(ConnectionManagerTest, ErrorRemovePending) { |
MockSlaveProcessDelegate slave1_process_delegate; |
SlaveConnectionManager slave1(platform_support()); |
- ProcessIdentifier slave1_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1", |
- &slave1_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave1_id)); |
+ ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1"); |
MockSlaveProcessDelegate slave2_process_delegate; |
SlaveConnectionManager slave2(platform_support()); |
- ProcessIdentifier slave2_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2", |
- &slave2_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave2_id)); |
- EXPECT_NE(slave1_id, slave2_id); |
+ ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(slave1.AllowConnect(connection_id)); |
@@ -382,9 +358,7 @@ TEST_F(ConnectionManagerTest, ConnectSlaveToSelf) { |
MockSlaveProcessDelegate slave_process_delegate; |
SlaveConnectionManager slave(platform_support()); |
- ProcessIdentifier slave_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave_process_delegate, &slave, "slave", &slave_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave_id)); |
+ ConnectSlave(&master, &slave_process_delegate, &slave, "slave"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(slave.AllowConnect(connection_id)); |
@@ -395,14 +369,16 @@ TEST_F(ConnectionManagerTest, ConnectSlaveToSelf) { |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
EXPECT_TRUE(slave.Connect(connection_id, &peer1, &h1)); |
- EXPECT_EQ(slave_id, peer1); |
+ EXPECT_TRUE(IsValidSlaveProcessIdentifier(peer1)); |
EXPECT_FALSE(h1.is_valid()); |
ProcessIdentifier peer2 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h2; |
EXPECT_TRUE(slave.Connect(connection_id, &peer2, &h2)); |
- EXPECT_EQ(slave_id, peer2); |
+ EXPECT_TRUE(IsValidSlaveProcessIdentifier(peer2)); |
EXPECT_FALSE(h2.is_valid()); |
+ EXPECT_EQ(peer1, peer2); |
+ |
slave.Shutdown(); |
master.Shutdown(); |
} |
@@ -414,18 +390,11 @@ TEST_F(ConnectionManagerTest, ConnectSlavesTwice) { |
MockSlaveProcessDelegate slave1_process_delegate; |
SlaveConnectionManager slave1(platform_support()); |
- ProcessIdentifier slave1_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1", |
- &slave1_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave1_id)); |
+ ConnectSlave(&master, &slave1_process_delegate, &slave1, "slave1"); |
MockSlaveProcessDelegate slave2_process_delegate; |
SlaveConnectionManager slave2(platform_support()); |
- ProcessIdentifier slave2_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2", |
- &slave2_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave2_id)); |
- EXPECT_NE(slave1_id, slave2_id); |
+ ConnectSlave(&master, &slave2_process_delegate, &slave2, "slave2"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(slave1.AllowConnect(connection_id)); |
@@ -434,12 +403,11 @@ TEST_F(ConnectionManagerTest, ConnectSlavesTwice) { |
ProcessIdentifier peer1 = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle h1; |
EXPECT_TRUE(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(slave1_id, peer2); |
+ EXPECT_NE(peer1, peer2); |
EXPECT_TRUE(ArePlatformHandlesConnected(h1.get(), h2.get())); |
// Currently, the master doesn't detect the case of connecting a pair of |
@@ -474,9 +442,7 @@ TEST_F(ConnectionManagerTest, ConnectMasterToSlave) { |
MockSlaveProcessDelegate slave_process_delegate; |
SlaveConnectionManager slave(platform_support()); |
- ProcessIdentifier slave_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave_process_delegate, &slave, "slave", &slave_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave_id)); |
+ ConnectSlave(&master, &slave_process_delegate, &slave, "slave"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(master.AllowConnect(connection_id)); |
@@ -485,7 +451,7 @@ TEST_F(ConnectionManagerTest, ConnectMasterToSlave) { |
ProcessIdentifier master_peer = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle master_h; |
EXPECT_TRUE(master.Connect(connection_id, &master_peer, &master_h)); |
- EXPECT_EQ(slave_id, master_peer); |
+ EXPECT_TRUE(IsValidSlaveProcessIdentifier(master_peer)); |
EXPECT_TRUE(master_h.is_valid()); |
ProcessIdentifier slave_peer = kInvalidProcessIdentifier; |
embedder::ScopedPlatformHandle slave_h; |
@@ -493,6 +459,7 @@ TEST_F(ConnectionManagerTest, ConnectMasterToSlave) { |
EXPECT_EQ(kMasterProcessIdentifier, slave_peer); |
EXPECT_TRUE(slave_h.is_valid()); |
+ EXPECT_NE(master_peer, slave_peer); |
EXPECT_TRUE(ArePlatformHandlesConnected(master_h.get(), slave_h.get())); |
slave.Shutdown(); |
@@ -533,9 +500,7 @@ TEST_F(ConnectionManagerTest, MasterCancelConnect) { |
MockSlaveProcessDelegate slave_process_delegate; |
SlaveConnectionManager slave(platform_support()); |
- ProcessIdentifier slave_id = kInvalidProcessIdentifier; |
- ConnectSlave(&master, &slave_process_delegate, &slave, "slave", &slave_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave_id)); |
+ ConnectSlave(&master, &slave_process_delegate, &slave, "slave"); |
ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
EXPECT_TRUE(master.AllowConnect(connection_id)); |
@@ -560,52 +525,12 @@ TEST_F(ConnectionManagerTest, AddSlaveThenImmediateShutdown) { |
MockSlaveProcessDelegate slave_process_delegate; |
SlaveConnectionManager slave(platform_support()); |
embedder::PlatformChannelPair platform_channel_pair; |
- ProcessIdentifier slave_id = kInvalidProcessIdentifier; |
master.AddSlave(new TestSlaveInfo("slave"), |
- platform_channel_pair.PassServerHandle(), &slave_id); |
+ platform_channel_pair.PassServerHandle()); |
master.Shutdown(); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave_id)); |
// Since we never initialized |slave|, we don't have to shut it down. |
} |
-TEST_F(ConnectionManagerTest, AddSlaveAndBootstrap) { |
- MasterConnectionManager master(platform_support()); |
- master.Init(base::MessageLoop::current()->task_runner(), |
- &master_process_delegate()); |
- |
- embedder::PlatformChannelPair platform_channel_pair; |
- ConnectionIdentifier connection_id = master.GenerateConnectionIdentifier(); |
- ProcessIdentifier slave_id = kInvalidProcessIdentifier; |
- master.AddSlaveAndBootstrap(new TestSlaveInfo("slave"), |
- platform_channel_pair.PassServerHandle(), |
- connection_id, &slave_id); |
- EXPECT_TRUE(IsValidSlaveProcessIdentifier(slave_id)); |
- |
- embedder::ScopedPlatformHandle h1; |
- ProcessIdentifier master_peer = kInvalidProcessIdentifier; |
- EXPECT_TRUE(master.Connect(connection_id, &master_peer, &h1)); |
- EXPECT_EQ(slave_id, master_peer); |
- EXPECT_TRUE(h1.is_valid()); |
- |
- // We can delay creating/initializing |slave| for quite a while. |
- MockSlaveProcessDelegate slave_process_delegate; |
- SlaveConnectionManager slave(platform_support()); |
- slave.Init(base::MessageLoop::current()->task_runner(), |
- &slave_process_delegate, platform_channel_pair.PassClientHandle()); |
- |
- ProcessIdentifier slave_peer = kInvalidProcessIdentifier; |
- embedder::ScopedPlatformHandle h2; |
- EXPECT_TRUE(slave.Connect(connection_id, &slave_peer, &h2)); |
- EXPECT_EQ(kMasterProcessIdentifier, slave_peer); |
- |
- EXPECT_TRUE(ArePlatformHandlesConnected(h1.get(), h2.get())); |
- |
- slave.Shutdown(); |
- master.Shutdown(); |
-} |
- |
-// TODO(vtl): More shutdown cases for |AddSlaveAndBootstrap()|? |
- |
} // namespace |
} // namespace system |
} // namespace mojo |