summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-10-08 21:05:34 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-10-08 21:05:34 +0000
commitf403e54d9ab2bc076f2594323769559d49ee7666 (patch)
tree272254331b188480cf670efa4ca3868755917867
parentfde87cbc486c76a600bbcdb9e3c67d7577c71b2e (diff)
parentbd19f65b954c0ea4dba8500a771b0989c3509699 (diff)
Merge "binderUnitTests: getOpenAshmemSize" am: 14c95f0218 am: bd19f65b95
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1850297 Change-Id: I96b37dcda9fa0a90457b7cf28aace2eab5b2a35c
-rw-r--r--libs/binder/tests/Android.bp1
-rw-r--r--libs/binder/tests/binderParcelUnitTest.cpp18
2 files changed, 18 insertions, 1 deletions
diff --git a/libs/binder/tests/Android.bp b/libs/binder/tests/Android.bp
index 680f0edd51..86da5887a8 100644
--- a/libs/binder/tests/Android.bp
+++ b/libs/binder/tests/Android.bp
@@ -87,6 +87,7 @@ cc_test {
srcs: ["binderParcelUnitTest.cpp", "binderBinderUnitTest.cpp"],
shared_libs: [
"libbinder",
+ "libcutils",
"libutils",
],
test_suites: ["general-tests"],
diff --git a/libs/binder/tests/binderParcelUnitTest.cpp b/libs/binder/tests/binderParcelUnitTest.cpp
index 841d47b264..4950b23858 100644
--- a/libs/binder/tests/binderParcelUnitTest.cpp
+++ b/libs/binder/tests/binderParcelUnitTest.cpp
@@ -14,8 +14,9 @@
* limitations under the License.
*/
-#include <binder/Parcel.h>
#include <binder/IPCThreadState.h>
+#include <binder/Parcel.h>
+#include <cutils/ashmem.h>
#include <gtest/gtest.h>
using android::IPCThreadState;
@@ -146,3 +147,18 @@ TEST_READ_WRITE_INVERSE(char16_t, Char, {u'a', u'\0'});
TEST_READ_WRITE_INVERSE(int8_t, Byte, {-1, 0, 1});
TEST_READ_WRITE_INVERSE(String8, String8, {String8(), String8("a"), String8("asdf")});
TEST_READ_WRITE_INVERSE(String16, String16, {String16(), String16("a"), String16("asdf")});
+
+TEST(Parcel, GetOpenAshmemSize) {
+ constexpr size_t kSize = 1024;
+ constexpr size_t kCount = 3;
+
+ Parcel p;
+
+ for (size_t i = 0; i < kCount; i++) {
+ int fd = ashmem_create_region("test-getOpenAshmemSize", kSize);
+ ASSERT_GE(fd, 0);
+ ASSERT_EQ(OK, p.writeFileDescriptor(fd, true /* take ownership */));
+
+ ASSERT_EQ((kSize * (i + 1)), p.getOpenAshmemSize());
+ }
+}