#include <gtest/gtest.h>
#include <gmock/gmock.h>
#include <iostream>
+#include <memory>
#include <stdbool.h>
#include <stdexcept>
bundle* b = bundle_create();
ASSERT_NE(b, nullptr);
- int ret = bundle_add_str(b, "Test", "Value");
+ auto bp = std::unique_ptr<bundle, decltype(bundle_free)*>(b, bundle_free);
+
+ int ret = bundle_add_str(bp.get(), "Test", "Value");
ASSERT_EQ(ret, BUNDLE_ERROR_NONE);
- ret = rpc_port_parcel_write_bundle(handle_, b);
+ ret = rpc_port_parcel_write_bundle(handle_, bp.get());
ASSERT_EQ(ret, 0);
- bundle_free(b);
b = nullptr;
-
ret = rpc_port_parcel_read_bundle(handle_, &b);
ASSERT_EQ(ret, 0);
+ bp = std::unique_ptr<bundle, decltype(bundle_free)*>(b, bundle_free);
char* str;
- ret = bundle_get_str(b, "Test", &str);
+ ret = bundle_get_str(bp.get(), "Test", &str);
ASSERT_EQ(ret, BUNDLE_ERROR_NONE);
ASSERT_STREQ("Value", str);
-
- bundle_free(b);
}
TEST_F(ParcelTest, read_write_array_count) {