Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(368)

Unified Diff: mojo/public/platform/native/system_impl_private_unittest.cc

Issue 1778753002: Implement MojoGetBufferInformation(), part 3. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698