Index: ipc/ipc_send_fds_test.cc |
diff --git a/ipc/ipc_send_fds_test.cc b/ipc/ipc_send_fds_test.cc |
index f92b119a3cadb72be167ce05ed95428cc504f45d..635b80a6365e124b5a53269fb5aaea10d34160ae 100644 |
--- a/ipc/ipc_send_fds_test.cc |
+++ b/ipc/ipc_send_fds_test.cc |
@@ -113,15 +113,13 @@ class MyChannelDescriptorListener : public MyChannelDescriptorListenerBase { |
unsigned num_fds_received_; |
}; |
- |
-class IPCSendFdsTest : public IPCTestBase { |
+class IPCSendFdsTest : public IPCChannelMojoTestBase { |
protected: |
void RunServer() { |
// Set up IPC channel and start client. |
MyChannelDescriptorListener listener(-1); |
CreateChannel(&listener); |
ASSERT_TRUE(ConnectChannel()); |
- ASSERT_TRUE(StartClient()); |
for (unsigned i = 0; i < kNumMessages; ++i) { |
IPC::Message* message = |
@@ -151,33 +149,34 @@ TEST_F(IPCSendFdsTest, DescriptorTest) { |
RunServer(); |
} |
-int SendFdsClientCommon(const std::string& test_client_name, |
- ino_t expected_inode_num) { |
- base::MessageLoopForIO main_message_loop; |
- MyChannelDescriptorListener listener(expected_inode_num); |
+class SendFdsTestClientFixture : public IpcChannelMojoTestClient { |
+ protected: |
+ void SendFdsClientCommon(const std::string& test_client_name, |
+ ino_t expected_inode_num) { |
+ MyChannelDescriptorListener listener(expected_inode_num); |
- // Set up IPC channel. |
- std::unique_ptr<IPC::Channel> channel(IPC::Channel::CreateClient( |
- IPCTestBase::GetChannelName(test_client_name), &listener, |
- main_message_loop.task_runner())); |
- CHECK(channel->Connect()); |
+ // Set up IPC channel. |
+ Connect(&listener); |
- // Run message loop. |
- base::RunLoop().Run(); |
+ // Run message loop. |
+ base::RunLoop().Run(); |
- // Verify that the message loop was exited due to getting the correct number |
- // of descriptors, and not because of the channel closing unexpectedly. |
- CHECK(listener.GotExpectedNumberOfDescriptors()); |
+ // Verify that the message loop was exited due to getting the correct number |
+ // of descriptors, and not because of the channel closing unexpectedly. |
+ EXPECT_TRUE(listener.GotExpectedNumberOfDescriptors()); |
- return 0; |
-} |
+ Close(); |
+ } |
+}; |
-MULTIPROCESS_IPC_TEST_CLIENT_MAIN(SendFdsClient) { |
+DEFINE_IPC_CHANNEL_MOJO_TEST_CLIENT_WITH_CUSTOM_FIXTURE( |
+ SendFdsClient, |
+ SendFdsTestClientFixture) { |
struct stat st; |
int fd = open(kDevZeroPath, O_RDONLY); |
fstat(fd, &st); |
EXPECT_GE(IGNORE_EINTR(close(fd)), 0); |
- return SendFdsClientCommon("SendFdsClient", st.st_ino); |
+ SendFdsClientCommon("SendFdsClient", st.st_ino); |
} |
#if defined(OS_MACOSX) |
@@ -188,31 +187,29 @@ TEST_F(IPCSendFdsTest, DescriptorTestSandboxed) { |
RunServer(); |
} |
-MULTIPROCESS_IPC_TEST_CLIENT_MAIN(SendFdsSandboxedClient) { |
+DEFINE_IPC_CHANNEL_MOJO_TEST_CLIENT_WITH_CUSTOM_FIXTURE( |
+ SendFdsSandboxedClient, |
+ SendFdsTestClientFixture) { |
struct stat st; |
const int fd = open(kDevZeroPath, O_RDONLY); |
fstat(fd, &st); |
- if (IGNORE_EINTR(close(fd)) < 0) |
- return -1; |
+ ASSERT_LE(0, IGNORE_EINTR(close(fd))); |
// Enable the sandbox. |
char* error_buff = NULL; |
int error = sandbox::Seatbelt::Init( |
sandbox::Seatbelt::kProfilePureComputation, SANDBOX_NAMED, &error_buff); |
- bool success = (error == 0 && error_buff == NULL); |
- if (!success) |
- return -1; |
+ ASSERT_EQ(0, error); |
+ ASSERT_FALSE(error_buff); |
sandbox::Seatbelt::FreeError(error_buff); |
// Make sure sandbox is really enabled. |
- if (open(kDevZeroPath, O_RDONLY) != -1) { |
- LOG(ERROR) << "Sandbox wasn't properly enabled"; |
- return -1; |
- } |
+ ASSERT_EQ(-1, open(kDevZeroPath, O_RDONLY)) |
+ << "Sandbox wasn't properly enabled"; |
// See if we can receive a file descriptor. |
- return SendFdsClientCommon("SendFdsSandboxedClient", st.st_ino); |
+ SendFdsClientCommon("SendFdsSandboxedClient", st.st_ino); |
} |
#endif // defined(OS_MACOSX) |