From 5029a11716a8408bbb86d2dd589e9d11da5104f2 Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Thu, 3 Aug 2017 22:30:12 -0400 Subject: [PATCH] Correct some leaks in unit tests. * chan_sip: channel in test_sip_rtpqos_1. * test_config: config hook, config info and global config holder. * test_core_format: format in format_attribute_set_without_interface. * test_stream: unneeded frame duplication. * test_taskprocessor: task_data. Change-Id: I94d364d195cf3b3b5de2bf3ad565343275c7ad31 --- channels/sip/dialplan_functions.c | 3 +++ tests/test_config.c | 3 +++ tests/test_core_format.c | 5 ++++- tests/test_taskprocessor.c | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/channels/sip/dialplan_functions.c b/channels/sip/dialplan_functions.c index 53d15dddb6..e74e57ecf3 100644 --- a/channels/sip/dialplan_functions.c +++ b/channels/sip/dialplan_functions.c @@ -486,6 +486,9 @@ done: dialog_unlink_all(p); dialog_unref(p, "Destroy test object"); } + if (chan) { + ast_channel_unref(chan); + } ast_rtp_engine_unregister(&test_engine); return res; } diff --git a/tests/test_config.c b/tests/test_config.c index b4b38b81e4..2565ddb2ff 100644 --- a/tests/test_config.c +++ b/tests/test_config.c @@ -1040,6 +1040,7 @@ AST_TEST_DEFINE(config_hook) res = AST_TEST_PASS; out: + ast_config_hook_unregister("test_hook"); delete_config_file(); return res; } @@ -1677,6 +1678,8 @@ AST_TEST_DEFINE(config_options_test) configs.codeccapopt = NULL; ast_string_field_free_memory(&defaults); ast_string_field_free_memory(&configs); + aco_info_destroy(&cfg_info); + ao2_global_obj_release(global_obj); return res; } diff --git a/tests/test_core_format.c b/tests/test_core_format.c index 2140029726..b9ea1b14f8 100644 --- a/tests/test_core_format.c +++ b/tests/test_core_format.c @@ -860,6 +860,7 @@ AST_TEST_DEFINE(format_attribute_set_without_interface) { RAII_VAR(struct ast_codec *, codec, NULL, ao2_cleanup); RAII_VAR(struct ast_format *, format, NULL, ao2_cleanup); + struct ast_format *attr_set; switch (cmd) { case TEST_INIT: @@ -885,10 +886,12 @@ AST_TEST_DEFINE(format_attribute_set_without_interface) return AST_TEST_FAIL; } - if (!ast_format_attribute_set(format, "bees", "cool")) { + attr_set = ast_format_attribute_set(format, "bees", "cool"); + if (!attr_set) { ast_test_status_update(test, "Successfully set an attribute on a format without an interface\n"); return AST_TEST_FAIL; } + ao2_cleanup(attr_set); return AST_TEST_PASS; } diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index be48f92488..ad2074cb8d 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -677,7 +677,7 @@ AST_TEST_DEFINE(taskprocessor_push_local) { RAII_VAR(struct ast_taskprocessor *, tps, NULL, ast_taskprocessor_unreference); - struct task_data *task_data; + RAII_VAR(struct task_data *, task_data, NULL, ao2_cleanup); int local_data; int res;