| Index: mojo/public/platform/native/system_impl_private_unittest.cc
|
| diff --git a/mojo/public/platform/native/system_impl_private_unittest.cc b/mojo/public/platform/native/system_impl_private_unittest.cc
|
| index 4d0e1bace6f68e51c90fff8f954bd696c2ef5107..756d8774cf17a366a6ba8faa05c3d6cd6c47fdb3 100644
|
| --- a/mojo/public/platform/native/system_impl_private_unittest.cc
|
| +++ b/mojo/public/platform/native/system_impl_private_unittest.cc
|
| @@ -262,6 +262,8 @@ TEST(SystemImplTest, BasicDataPipe) {
|
| }
|
|
|
| TEST(SystemImplTest, BasicSharedBuffer) {
|
| + const uint64_t kSize = 100u;
|
| +
|
| MojoSystemImpl sys0 = MojoSystemImplCreateImpl();
|
| MojoSystemImpl sys1 = MojoSystemImplCreateImpl();
|
| EXPECT_NE(sys0, sys1);
|
| @@ -272,15 +274,26 @@ TEST(SystemImplTest, BasicSharedBuffer) {
|
| // Create a shared buffer (|h0|).
|
| h0 = MOJO_HANDLE_INVALID;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - MojoSystemImplCreateSharedBuffer(sys0, nullptr, 100, &h0));
|
| + MojoSystemImplCreateSharedBuffer(sys0, nullptr, kSize, &h0));
|
| EXPECT_NE(h0, MOJO_HANDLE_INVALID);
|
|
|
| + // Check the buffer information.
|
| + {
|
| + MojoBufferInformation info = {};
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoSystemImplGetBufferInformation(
|
| + sys0, h0, &info, sizeof(info)));
|
| + EXPECT_EQ(sizeof(info), info.struct_size);
|
| + EXPECT_EQ(MOJO_BUFFER_INFORMATION_FLAG_NONE, info.flags);
|
| + EXPECT_EQ(kSize, info.num_bytes);
|
| + }
|
| +
|
| // Map everything.
|
| pointer = nullptr;
|
| - EXPECT_EQ(MOJO_RESULT_OK, MojoSystemImplMapBuffer(sys0, h0, 0, 100, &pointer,
|
| - MOJO_MAP_BUFFER_FLAG_NONE));
|
| + EXPECT_EQ(MOJO_RESULT_OK,
|
| + MojoSystemImplMapBuffer(sys0, h0, 0u, kSize, &pointer,
|
| + MOJO_MAP_BUFFER_FLAG_NONE));
|
| ASSERT_TRUE(pointer);
|
| - static_cast<char*>(pointer)[50] = 'x';
|
| + static_cast<char*>(pointer)[kSize / 2] = 'x';
|
|
|
| // Duplicate |h0| to |h1|.
|
| h1 = MOJO_HANDLE_INVALID;
|
| @@ -296,15 +309,26 @@ TEST(SystemImplTest, BasicSharedBuffer) {
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoSystemImplClose(sys0, h0));
|
|
|
| // The mapping should still be good.
|
| - static_cast<char*>(pointer)[51] = 'y';
|
| + static_cast<char*>(pointer)[kSize / 2 + 1] = 'y';
|
|
|
| // Unmap it.
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoSystemImplUnmapBuffer(sys0, pointer));
|
|
|
| + // Check the buffer information on |h1|.
|
| + {
|
| + MojoBufferInformation info = {};
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoSystemImplGetBufferInformation(
|
| + sys1, h1, &info, sizeof(info)));
|
| + EXPECT_EQ(sizeof(info), info.struct_size);
|
| + EXPECT_EQ(MOJO_BUFFER_INFORMATION_FLAG_NONE, info.flags);
|
| + EXPECT_EQ(kSize, info.num_bytes);
|
| + }
|
| +
|
| // Map half of |h1|.
|
| pointer = nullptr;
|
| - EXPECT_EQ(MOJO_RESULT_OK, MojoSystemImplMapBuffer(sys1, h1, 50, 50, &pointer,
|
| - MOJO_MAP_BUFFER_FLAG_NONE));
|
| + EXPECT_EQ(MOJO_RESULT_OK,
|
| + MojoSystemImplMapBuffer(sys1, h1, kSize / 2, kSize / 2, &pointer,
|
| + MOJO_MAP_BUFFER_FLAG_NONE));
|
| ASSERT_TRUE(pointer);
|
|
|
| // It should have what we wrote.
|
|
|