From: Jooseok Song Date: Tue, 7 Feb 2017 04:01:14 +0000 (+0900) Subject: [UTC][accounts-svc][Non-ACR][Fix memory leak issue] X-Git-Tag: 4.0_Bringup~52^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e633745ac4ee00bbb1ba19a6ac5eaa6bc4ad52c0;p=test%2Ftct%2Fnative%2Fapi.git [UTC][accounts-svc][Non-ACR][Fix memory leak issue] Change-Id: Ic0b8c4ae97e56f73765270534119f1da236ba51f --- diff --git a/src/utc/accounts-svc/utc-accounts-svc.c b/src/utc/accounts-svc/utc-accounts-svc.c index 8ca4ac56d..ac699b72a 100644 --- a/src/utc/accounts-svc/utc-accounts-svc.c +++ b/src/utc/accounts-svc/utc-accounts-svc.c @@ -53,6 +53,31 @@ if (_is_fail == true) \ return 1; +#define assert_eq_free(var, ref, var1) \ + do { \ + if (var != ref) { \ + fprintf(stderr, \ + "\\n[TCT][%s][Line : %d] Assert fail; Values (%s == 0x%x) and (%s == 0x%x) are not equal\\n", \ + __FILE__, __LINE__, #var, (int)var, #ref, (int)ref); \ + account_destroy(var1); \ + return 1; \ + } \ + } while (0) + + +#define assert_eq_free_text(var, ref, var1, var2) \ + do { \ + if (var != ref) { \ + fprintf(stderr, \ + "\\n[TCT][%s][Line : %d] Assert fail; Values (%s == 0x%x) and (%s == 0x%x) are not equal\\n", \ + __FILE__, __LINE__, #var, (int)var, #ref, (int)ref); \ + _account_free_text(var1); \ + account_destroy(var2); \ + return 1; \ + } \ + } while (0) + + enum ICON_PATH_TYPE { ICON, SMALL_ICON @@ -440,83 +465,102 @@ int utc_account_insert_to_db_p(void) assert_eq(ret, ACCOUNT_ERROR_NONE); ret = account_query_account_by_account_id(account_id, &ret_account); + if(ret != ACCOUNT_ERROR_NONE) { + account_destroy(ret_account); + } assert_eq(ret, ACCOUNT_ERROR_NONE); + // User Name ret = account_get_user_name(ret_account, &ret_user_name); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_user_name, user_name), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_user_name, ret_account); + assert_eq_free_text(strcmp(ret_user_name, user_name), 0, ret_user_name, ret_account); _account_free_text(ret_user_name); + // Package Name ret = account_get_package_name(ret_account, &ret_package_name); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_package_name, package_name), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_package_name, ret_account); + assert_eq_free_text(strcmp(ret_package_name, package_name), 0, ret_package_name, ret_account); _account_free_text(ret_package_name); + // Display Name ret = account_get_display_name(ret_account, &ret_display_name); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_display_name, display_name), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_display_name, ret_account); + assert_eq_free_text(strcmp(ret_display_name, display_name), 0, ret_display_name, ret_account); _account_free_text(ret_display_name); + // Icon Path ret = account_get_icon_path(ret_account, &ret_icon_path); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_icon_path, icon_path), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_icon_path, ret_account); + assert_eq_free_text(strcmp(ret_icon_path, icon_path), 0, ret_icon_path, ret_account); _account_free_text(ret_icon_path); + // Domain Name ret = account_get_domain_name(ret_account, &ret_domain_name); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_domain_name, domain_name), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_domain_name, ret_account); + assert_eq_free_text(strcmp(ret_domain_name, domain_name), 0, ret_domain_name, ret_account); _account_free_text(ret_domain_name); + // Email Address ret = account_get_email_address(ret_account, &ret_email_address); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_email_address, email_address), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_email_address, ret_account); + assert_eq_free_text(strcmp(ret_email_address, email_address), 0, ret_email_address, ret_account); _account_free_text(ret_email_address); + // Source ret = account_get_source(ret_account, &ret_source); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_source, source), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_source, ret_account); + assert_eq_free_text(strcmp(ret_source, source), 0, ret_source, ret_account); _account_free_text(ret_source); + // Custom ret = account_get_custom(ret_account, key, &ret_value); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_value, value), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_value, ret_account); + assert_eq_free_text(strcmp(ret_value, value), 0, ret_value, ret_account); _account_free_text(ret_value); + // Capability ret = account_get_capability(ret_account, contact_capability, &ret_capability_state); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(ret_capability_state, capability_state); + assert_eq_free(ret, ACCOUNT_ERROR_NONE, ret_account); + assert_eq_free(ret_capability_state, capability_state, ret_account); + // Access Token ret = account_get_access_token(ret_account, &ret_access_token); - assert_eq(ret, ACCOUNT_ERROR_NONE); - if (ret_access_token != NULL && access_token != NULL) - assert_eq(strcmp(ret_access_token, access_token), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_access_token, ret_account); + if (ret_access_token != NULL && access_token != NULL) { + assert_eq_free_text(strcmp(ret_access_token, access_token), 0, ret_access_token, ret_account); + } _account_free_text(ret_access_token); + // User Text for (i = 0; i < 5; i++){ ret = account_get_user_text(ret_account, i, &ret_user_text); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(strcmp(ret_user_text, user_text), 0); + assert_eq_free_text(ret, ACCOUNT_ERROR_NONE, ret_user_text, ret_account); + assert_eq_free_text(strcmp(ret_user_text, user_text), 0, ret_user_text, ret_account); _account_free_text(ret_user_text); } + // User Int for (i = 0; i < 5; i++){ int ret_user_int = -1; ret = account_get_user_int(ret_account, i, &ret_user_int); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(ret_user_int, i*10); + assert_eq_free(ret, ACCOUNT_ERROR_NONE, ret_account); + assert_eq_free(ret_user_int, i*10, ret_account); } + // Auth Type ret = account_get_auth_type(ret_account, &ret_auth_type); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(ret_auth_type, auth_type); + assert_eq_free(ret, ACCOUNT_ERROR_NONE, ret_account); + assert_eq_free(ret_auth_type, auth_type, ret_account); + // Secret ret = account_get_secret(ret_account, &ret_secrecy_state); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(ret_secrecy_state, secrecy_state); + assert_eq_free(ret, ACCOUNT_ERROR_NONE, ret_account); + assert_eq_free(ret_secrecy_state, secrecy_state, ret_account); + // Sync Support ret = account_get_sync_support(ret_account, &ret_sync_state); - assert_eq(ret, ACCOUNT_ERROR_NONE); - assert_eq(ret_sync_state, sync_state); + assert_eq_free(ret, ACCOUNT_ERROR_NONE, ret_account); + assert_eq_free(ret_sync_state, sync_state, ret_account); ret = account_destroy(ret_account); assert_eq(ret, ACCOUNT_ERROR_NONE); @@ -1928,24 +1972,46 @@ static bool capability_call_back(const char* capability_type, account_capability const char* capability = contact_capability; ret = account_get_package_name(account_data, &str); - check_fail(ret == ACCOUNT_ERROR_NONE); - check_fail(strcmp(str, package_name)==0); + if(ret != ACCOUNT_ERROR_NONE) { + _account_free_text(str); + _is_fail = true; + return true; + } + if(strcmp(str, package_name) !=0) { + _account_free_text(str); + _is_fail = true; + return true; + } ret = account_get_user_name(account_data, &str); - check_fail(ret == ACCOUNT_ERROR_NONE); - check_fail(strcmp(str, user_name)==0); + if(ret != ACCOUNT_ERROR_NONE) { + _account_free_text(str); + _is_fail = true; + return true; + } + if(strcmp(str, user_name) !=0) { + _account_free_text(str); + _is_fail = true; + return true; + } if( strcmp(capability_type, capability)==0 ) { ret = account_get_capability(account_data, capability, &_capability_state); - check_fail(ret == ACCOUNT_ERROR_NONE); - check_fail(_capability_state == capability_state); + if(ret != ACCOUNT_ERROR_NONE) { + _account_free_text(str); + _is_fail = true; + return true; + } + if(_capability_state != capability_state) { + _account_free_text(str); + _is_fail = true; + return true; + } } + _account_free_text(str); _is_fail = false; -// g_main_loop_quit(mainloop); -// mainloop = NULL; - return 0; } @@ -4434,8 +4500,11 @@ static bool account_type_cb_func(account_type_h account_type, void *user_data) { dlog_print(DLOG_ERROR, "ACCOUNT_TC", "test_small_icon_path %s", test_small_icon_path); ret = account_type_get_app_id(account_type, &app_id); - check_fail(ret == ACCOUNT_ERROR_NONE); - check_fail(strcmp(package_name, app_id)==0); + if(ret != ACCOUNT_ERROR_NONE) { + _is_fail=true; + _account_free_text(app_id); + return true; + } if( strcmp(app_id, package_name) != 0 ) { _is_fail=true;