Fix gtest memory leak 92/212992/1
authorhyunho <hhstark.kang@samsung.com>
Thu, 29 Aug 2019 06:17:31 +0000 (15:17 +0900)
committerhyunho <hhstark.kang@samsung.com>
Thu, 29 Aug 2019 06:17:31 +0000 (15:17 +0900)
Change-Id: Ib9e2ed06c869afa8feb5c2e7030c95b0d11e744a
Signed-off-by: hyunho <hhstark.kang@samsung.com>
unittest/src/test-main.cc
unittest/src/test-watchface-complication-provider.cc
unittest/src/test-watchface-complication.cc
unittest/src/test-watchface-editable.cc
unittest/src/test-watchface-editor.cc

index c7aedb8..4cdeb25 100644 (file)
@@ -51,6 +51,8 @@ void UpdateDB() {
   ret = bundle_encode(default_data, &raw, &len);
   ret = sqlite3_bind_text(stmt, 1,
       reinterpret_cast<const char*>(raw), -1, SQLITE_TRANSIENT);
+  free(raw);
+  bundle_free(default_data);
   if (ret != SQLITE_OK) {
     cout << "bind error: " << ret << "(" << sqlite3_errmsg(db) << ")" << endl;
     sqlite3_finalize(stmt);
index 84d9cb1..223ae5e 100644 (file)
@@ -198,6 +198,8 @@ TEST_F(CWCP, watchface_complication_provider_setup_reply_to_editor)
 
   int ret = watchface_complication_provider_setup_reply_to_editor(
       service, context);
+  bundle_free(context);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 }
 
@@ -212,6 +214,7 @@ TEST_F(CWCP, watchface_complication_provider_setup_is_editing)
   bool is_editing = false;
   int ret = watchface_complication_provider_setup_is_editing(
       service, &is_editing);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 }
 
@@ -226,6 +229,8 @@ TEST_F(CWCP, watchface_complication_provider_setup_get_context)
 
   int ret = watchface_complication_provider_setup_get_context(
       service, &context);
+  bundle_free(context);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 }
 
@@ -234,6 +239,7 @@ TEST_F(CWCP, watchface_complication_provider_data_set_type)
   bundle* shared = bundle_create();
   int ret = watchface_complication_provider_data_set_type(
       shared, WATCHFACE_COMPLICATION_TYPE_LONG_TEXT);
+  bundle_free(shared);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 }
 
@@ -291,6 +297,10 @@ TEST_F(CWCP, watchface_complication_provider_event_get_type)
   app_control_import_from_bundle(service, shared);
   int ret = watchface_complication_provider_event_get_type(
       service, &type);
+  bundle_free(shared);
+  bundle_free(touch_data);
+  free(raw_data);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
   EXPECT_EQ(type,  WATCHFACE_COMPLICATION_EVENT_TAP);
 }
@@ -315,6 +325,11 @@ TEST_F(CWCP, watchface_complication_provider_event_get_provider_id)
   char* ret_provider;
   int ret = watchface_complication_provider_event_get_provider_id(
       service, &ret_provider);
+
+  bundle_free(shared);
+  bundle_free(touch_data);
+  free(raw_data);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
   EXPECT_STREQ(ret_provider, "org.tizen.provider");
 }
@@ -341,6 +356,11 @@ TEST_F(CWCP, watchface_complication_provider_event_get_complication_type)
   app_control_import_from_bundle(service, shared);
   int ret = watchface_complication_provider_event_get_complication_type(
       service, &type);
+
+  bundle_free(shared);
+  bundle_free(touch_data);
+  free(raw_data);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
   EXPECT_EQ(type, WATCHFACE_COMPLICATION_TYPE_SHORT_TEXT);
 }
@@ -359,6 +379,8 @@ TEST_F(CWCP, watchface_complication_provider_event_get_context)
       "org.tizen.provider");
   bundle_add_str(touch_data, "__TOUCH_LAUNCH_CONTEXT_KEY__",
       reinterpret_cast<const char*>(raw_data));
+
+  free(raw_data);
   bundle_encode(touch_data, &raw_data, &str_len);
   bundle_add_str(shared, "__TOUCH_LAUNCH_DATA_KEY__",
       reinterpret_cast<const char*>(raw_data));
@@ -369,6 +391,11 @@ TEST_F(CWCP, watchface_complication_provider_event_get_context)
   app_control_import_from_bundle(service, shared);
   int ret = watchface_complication_provider_event_get_context(
       service, &ret_context);
+  free(raw_data);
+  bundle_free(touch_data);
+  bundle_free(shared);
+  bundle_free(context);
+  app_control_destroy(service);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 }
 
index 32a2cf6..ecc6aad 100644 (file)
@@ -191,6 +191,7 @@ TEST_F(CWC, watchface_complication_get_current_provider_id)
       &cur_provider_id);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
   EXPECT_STREQ(cur_provider_id, "org.tizen.gmock_comp_provider/test");
+  free(cur_provider_id);
 }
 
 TEST_F(CWC, watchface_complication_get_current_type)
@@ -398,19 +399,29 @@ void _complication_updated_cb_get_test(
     char* value;
     watchface_complication_data_get_short_text(data, &value);
     EXPECT_STREQ(value, "shorttext");
+    free(value);
+
     watchface_complication_data_get_title(data, &value);
     EXPECT_STREQ(value, "title");
+    free(value);
+
     watchface_complication_data_get_icon_path(data, &value);
     EXPECT_STREQ(value, "data/icon.png");
+    free(value);
+
     int ret = watchface_complication_data_get_extra_data(data, &value);
     EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
+    free(value);
+
     watchface_complication_data_get_screen_reader_text(data, &value);
     EXPECT_STREQ(value, "screen reader");
+    free(value);
 
   } else if (type == WATCHFACE_COMPLICATION_TYPE_LONG_TEXT) {
     char* value;
     watchface_complication_data_get_long_text(data, &value);
     EXPECT_STREQ(value, "longtext");
+    free(value);
   } else if (type == WATCHFACE_COMPLICATION_TYPE_TIME) {
     long time;
     watchface_complication_data_get_timestamp(data, &time);
@@ -419,6 +430,7 @@ void _complication_updated_cb_get_test(
     char* value;
     watchface_complication_data_get_image_path(data, &value);
     EXPECT_STREQ(value, "data/img.png");
+    free(value);
   } else if (type == WATCHFACE_COMPLICATION_TYPE_RANGED_VALUE) {
     double cur, min, max;
     watchface_complication_data_get_ranged_value(data,
@@ -564,6 +576,8 @@ TEST_F(CWC, watchface_complication_allowed_list)
   watchface_complication_allowed_list_get_nth(allowed_list_, 1,
       &ret_provider_id, &ret_type);
   EXPECT_STREQ(ret_provider_id, "org.tizen.gmock_comp_provider2/test");
+  free(ret_provider_id);
+
   EXPECT_EQ(ret_type, WATCHFACE_COMPLICATION_TYPE_LONG_TEXT);
 
   ret = watchface_complication_allowed_list_apply(complication_,
index 48980bf..1c754bb 100644 (file)
@@ -164,6 +164,7 @@ void _editable_update_requested_cb(
   char* name;
   ret = watchface_editable_get_editable_name(handle, &name);
   EXPECT_STREQ(name, "test");
+  free(name);
 
   int id;
   ret = watchface_editable_get_editable_id(handle, &id);
@@ -171,14 +172,18 @@ void _editable_update_requested_cb(
 
   bundle* nth_data;
   ret = watchface_editable_get_nth_data(handle, 0, &nth_data);
+  if (nth_data != nullptr)
+    bundle_free(nth_data);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 
   int idx;
   ret = watchface_editable_get_current_data_idx(handle, &idx);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 
-  bundle* cur_data;
+  bundle* cur_data = nullptr;
   ret = watchface_editable_get_current_data(handle, &cur_data);
+  if (cur_data != nullptr)
+    bundle_free(cur_data);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 
   watchface_editable_container_h container;
@@ -206,8 +211,10 @@ void _editable_edit_ready_cb(
   ret = watchface_editable_candidates_list_create(&candidates_list_);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NONE, ret);
 
-  bundle* current_data;
+  bundle* current_data = nullptr;
   ret = watchface_editable_load_current_data(design_element_id, &current_data);
+  if (current_data != nullptr)
+    bundle_free(current_data);
   EXPECT_EQ(WATCHFACE_COMPLICATION_ERROR_NO_DATA, ret);
 
   watchface_editable_highlight_destroy(hi_);
index 72b6db4..a36bfca 100644 (file)
@@ -207,8 +207,8 @@ void _editor_request_edit_cb(const char* appid,
         watchface_editor_get_complication_provider_name(c_data, &provider_name);
         if (provider_name != nullptr)
           free(provider_name);
-
       }
+      bundle_free(c_data);
     }
     watchface_editor_is_setup_app_exist(handle, &exist);
     if (exist) {