| Index: mojo/edk/system/data_pipe_unittest.cc
|
| diff --git a/mojo/edk/system/data_pipe_unittest.cc b/mojo/edk/system/data_pipe_unittest.cc
|
| index af2cf3e6e815170e5c929df195fc2fd8c46a65dc..4cf8e4ac3dbbb35353cc73a022596dac2f802273 100644
|
| --- a/mojo/edk/system/data_pipe_unittest.cc
|
| +++ b/mojo/edk/system/data_pipe_unittest.cc
|
| @@ -35,10 +35,12 @@ const uint32_t kSizeOfOptions =
|
| // TODO(vtl): Get rid of this.
|
| const size_t kMaxPoll = 100;
|
|
|
| +#if !defined(OS_IOS)
|
| // Used in Multiprocess test.
|
| const size_t kMultiprocessCapacity = 37;
|
| const char kMultiprocessTestData[] = "hello i'm a string that is 36 bytes";
|
| const int kMultiprocessMaxIter = 513;
|
| +#endif
|
|
|
| class DataPipeTest : public testing::Test {
|
| public:
|
| @@ -1633,6 +1635,8 @@ TEST_F(DataPipeTest, ConsumerWithClosedProducerSent) {
|
| ASSERT_EQ(MOJO_RESULT_OK, MojoClose(pipe1));
|
| }
|
|
|
| +#if !defined(OS_IOS)
|
| +
|
| bool WriteAllData(MojoHandle producer,
|
| const void* elements,
|
| uint32_t num_bytes) {
|
| @@ -1777,6 +1781,11 @@ TEST_F(DataPipeTest, MAYBE_Multiprocess) {
|
| }
|
|
|
| // Don't have to close the consumer here because it will be done for us.
|
| + std::string quitquitquit("quitquitquit");
|
| + ASSERT_EQ(MOJO_RESULT_OK,
|
| + MojoWriteMessage(server_mp, quitquitquit.data(),
|
| + static_cast<uint32_t>(quitquitquit.size()),
|
| + nullptr, 0u, MOJO_WRITE_MESSAGE_FLAG_NONE));
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(server_mp));
|
| EXPECT_TRUE(multiprocess_test_helper.WaitForChildTestShutdown());
|
| }
|
| @@ -1842,11 +1851,24 @@ MOJO_MULTIPROCESS_TEST_CHILD_TEST(MultiprocessClient) {
|
| // Write the test string one more time.
|
| EXPECT_TRUE(WriteAllData(producer, kMultiprocessTestData, kTestDataSize));
|
|
|
| + std::string quitquitquit("quitquitquit");
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(client_mp, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| + std::string read_buffer(1000, '\0');
|
| + uint32_t read_buffer_size = static_cast<uint32_t>(read_buffer.size());
|
| + ASSERT_EQ(MOJO_RESULT_OK,
|
| + MojoReadMessage(client_mp, &read_buffer[0], &read_buffer_size,
|
| + nullptr, 0, MOJO_READ_MESSAGE_FLAG_NONE));
|
| + read_buffer.resize(read_buffer_size);
|
| + ASSERT_EQ(quitquitquit, read_buffer);
|
| +
|
| // We swapped ends, so close the producer.
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(producer));
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(client_mp));
|
| }
|
|
|
| +#endif // !defined(OS_IOS)
|
| +
|
| } // namespace
|
| } // namespace edk
|
| } // namespace mojo
|
|
|