diff --git a/adapter/uhdf2/hdi/test/buffer_handle/BUILD.gn b/adapter/uhdf2/hdi/test/buffer_handle/BUILD.gn index 324a6c4cc30f25229fc2748b880016245c462080..3fd8b23ba73a7a5cc5766748a7b1b91e0860725a 100644 --- a/adapter/uhdf2/hdi/test/buffer_handle/BUILD.gn +++ b/adapter/uhdf2/hdi/test/buffer_handle/BUILD.gn @@ -42,6 +42,7 @@ ohos_unittest("native_buffer_test") { external_deps = [ "c_utils:utils", + "hilog:libhilog", "ipc:ipc_single", ] } diff --git a/adapter/uhdf2/hdi/test/buffer_handle/native_buffer_test.cpp b/adapter/uhdf2/hdi/test/buffer_handle/native_buffer_test.cpp index ee20685a0ffc4b966432c797705cbc46edcfc4f3..6c61b0e7935c18edfee9968fd3b61ce7cdf2637c 100644 --- a/adapter/uhdf2/hdi/test/buffer_handle/native_buffer_test.cpp +++ b/adapter/uhdf2/hdi/test/buffer_handle/native_buffer_test.cpp @@ -21,6 +21,7 @@ #include "base/buffer_util.h" #include "base/native_buffer.h" #include "osal_mem.h" +#include "hdf_log.h" using namespace testing::ext; using OHOS::MessageParcel; @@ -362,4 +363,34 @@ HWTEST_F(NativeBufferTest, NativeBufferTest016, TestSize.Level1) sptr destBuffer = NativeBuffer::Unmarshalling(parcel); ASSERT_EQ(destBuffer, nullptr); close(fd); +} + +// test native buffer +HWTEST_F(NativeBufferTest, NativeBufferTest017, TestSize.Level1) +{ + MessageParcel data; + sptr srcBuffer = new NativeBuffer(nullptr); + std::string sbuffer = srcBuffer->Dump(); + HDF_LOGI("srcBuffer : %{public}s", sbuffer.c_str()); + + BufferHandle *srcHandle = srcBuffer->Clone(); + ASSERT_EQ(srcHandle, nullptr); + + bool ret = data.WriteStrongParcelable(srcBuffer); + ASSERT_TRUE(ret); + + sptr destBuffer = data.ReadStrongParcelable(); + ASSERT_NE(destBuffer, nullptr); + + BufferHandle *destHandle = destBuffer->Clone(); + ASSERT_EQ(destHandle, nullptr); + + std::string dbuffer = destBuffer->Dump(); + HDF_LOGI("destBuffer : %{public}s", dbuffer.c_str()); + + NativeBuffer native; + NativeBuffer buffer1(native); + NativeBuffer buffer2; + buffer2 = buffer1; + ASSERT_EQ(buffer2.GetBufferHandle(), nullptr); } \ No newline at end of file