From: Suyeon Hwang Date: Tue, 20 Jul 2021 11:23:02 +0000 (+0900) Subject: Remove memory leak on new TC for vc_get_system_command_list() X-Git-Tag: submit/tizen/20210914.040626~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b513a92a6d451837c58da4573ad0e836ce93ac6;p=platform%2Fcore%2Fuifw%2Fvoice-control.git Remove memory leak on new TC for vc_get_system_command_list() Change-Id: Ieeb48b4aee90a4b9bf50f0b2dc3d43bcdab90cb6 Signed-off-by: Suyeon Hwang --- diff --git a/tests/src/vc_unittests.cpp b/tests/src/vc_unittests.cpp index 0320972..780b61e 100644 --- a/tests/src/vc_unittests.cpp +++ b/tests/src/vc_unittests.cpp @@ -106,6 +106,13 @@ static bool __vc_cmd_list_cb(vc_cmd_h vc_command, void* user_data) static void __vc_mgr_ready() { + EXPECT_EQ(vc_mgr_initialize(), VC_ERROR_NONE); + EXPECT_EQ(vc_mgr_set_state_changed_cb(__vc_mgr_state_changed_cb, nullptr), VC_ERROR_NONE); + EXPECT_EQ(vc_mgr_set_service_state_changed_cb(__vc_mgr_service_state_changed_cb, nullptr), VC_ERROR_NONE); + EXPECT_EQ(vc_mgr_prepare(), VC_ERROR_NONE); + ASSERT_EQ(true, __is_mgr_state_changed(VC_STATE_READY, 5)); + ASSERT_EQ(true, __is_mgr_service_state_changed(VC_SERVICE_STATE_READY, 5)); + vc_cmd_h system_command = nullptr; EXPECT_EQ(vc_cmd_create(&system_command), VC_ERROR_NONE); EXPECT_EQ(vc_cmd_set_command(system_command, "test"), VC_ERROR_NONE); @@ -115,14 +122,17 @@ static void __vc_mgr_ready() EXPECT_EQ(vc_cmd_list_create(&commands), VC_ERROR_NONE); EXPECT_EQ(vc_cmd_list_add(commands, system_command), VC_ERROR_NONE); - EXPECT_EQ(vc_mgr_initialize(), VC_ERROR_NONE); - EXPECT_EQ(vc_mgr_set_state_changed_cb(__vc_mgr_state_changed_cb, nullptr), VC_ERROR_NONE); - EXPECT_EQ(vc_mgr_set_service_state_changed_cb(__vc_mgr_service_state_changed_cb, nullptr), VC_ERROR_NONE); - EXPECT_EQ(vc_mgr_prepare(), VC_ERROR_NONE); - ASSERT_EQ(true, __is_mgr_state_changed(VC_STATE_READY, 5)); - ASSERT_EQ(true, __is_mgr_service_state_changed(VC_SERVICE_STATE_READY, 5)); - EXPECT_EQ(vc_mgr_set_command_list(commands), VC_ERROR_NONE); + + EXPECT_EQ(vc_cmd_list_destroy(commands, true), VC_ERROR_NONE); +} + +static void __vc_mgr_finish() +{ + EXPECT_EQ(vc_mgr_unprepare(), VC_ERROR_NONE); + EXPECT_EQ(vc_mgr_unset_state_changed_cb(), VC_ERROR_NONE); + EXPECT_EQ(vc_mgr_unset_service_state_changed_cb(), VC_ERROR_NONE); + EXPECT_EQ(vc_mgr_deinitialize(), VC_ERROR_NONE); } namespace { @@ -750,6 +760,10 @@ TEST_F(VCTest, vc_get_system_command_list_p) ret = vc_get_system_command_list(&list); EXPECT_EQ(ret, VC_ERROR_NONE); + if (NULL != list) { + EXPECT_EQ(vc_cmd_list_destroy(list, true), VC_ERROR_NONE); + } + ret = vc_unprepare(); EXPECT_EQ(ret, VC_ERROR_NONE); } @@ -791,6 +805,9 @@ TEST_F(VCTest, vc_get_system_command_list_p2) EXPECT_EQ(ret, VC_ERROR_NONE); EXPECT_GT(count, 0); + EXPECT_EQ(vc_cmd_list_destroy(list, true), VC_ERROR_NONE); + + __vc_mgr_finish(); ret = vc_unprepare(); EXPECT_EQ(ret, VC_ERROR_NONE); }