From: ilho kim Date: Wed, 6 Sep 2023 11:30:47 +0000 (+0900) Subject: Exclude some lines for code coverage X-Git-Tag: accepted/tizen/8.0/unified/20231005.092815~1 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fapi%2Fpackage-manager.git;a=commitdiff_plain;h=4046e29c9c6961defb1d6e12f7ddc7cdd137680b Exclude some lines for code coverage Some api are difficult to execute in automation tests because it require special privilege Change-Id: I97270a95a77b100a0b6d6e688e41fac14d903e1f Signed-off-by: ilho kim --- diff --git a/src/package_manager.c b/src/package_manager.c index 3c045a1..6d8f22e 100644 --- a/src/package_manager.c +++ b/src/package_manager.c @@ -101,11 +101,13 @@ struct package_manager_res_event_info_s { pkgmgr_res_event_info *res_event_info_handle; }; +/* LCOV_EXCL_START */ static int package_manager_request_new_id() { static int request_handle_id = 0; return request_handle_id++; } +/* LCOV_EXCL_STOP */ static int package_manager_new_id() { @@ -113,6 +115,7 @@ static int package_manager_new_id() return manager_handle_id++; } +/* LCOV_EXCL_START */ static void __clean_all_event_info(request_event_info *head) { request_event_info *current = head; @@ -127,6 +130,7 @@ static void __clean_all_event_info(request_event_info *head) free(prev); } } +/* LCOV_EXCL_STOP */ static int __insert_event_info(package_manager_h manager, const char *pkg_name, package_manager_event_type_e event_type, @@ -160,6 +164,7 @@ static void __free_event_info(gpointer data) _LOGD("event_info removed"); } +/* LCOV_EXCL_START */ static void __free_request_cb_info(gpointer data) { int req_id; @@ -172,12 +177,15 @@ static void __free_request_cb_info(gpointer data) _LOGD("request callback info removed, req_id(%d)", req_id); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static void __initialize_request_cb_table(package_manager_request_h request) { request->request_cb_table = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, __free_request_cb_info); } +/* LCOV_EXCL_STOP */ static int __insert_request_cb_info(package_manager_request_h request, int req_id, package_manager_request_event_cb callback, void *user_data) @@ -220,6 +228,7 @@ static int __insert_res_request_cb_info(package_manager_request_h request, return 0; } +/* LCOV_EXCL_START */ API int package_manager_request_create(package_manager_request_h *request) { struct package_manager_request_s *package_manager_request; @@ -256,7 +265,9 @@ API int package_manager_request_create(package_manager_request_h *request) return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int package_manager_client_validate_handle(package_manager_request_h request) { @@ -265,7 +276,9 @@ static int package_manager_client_validate_handle(package_manager_request_h return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_destroy(package_manager_request_h request) { if (package_manager_client_validate_handle(request)) { @@ -287,7 +300,9 @@ API int package_manager_request_destroy(package_manager_request_h request) return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __reset_user_request_callback(package_manager_request_h request, package_manager_request_event_cb callback, void *user_data) { @@ -299,7 +314,9 @@ static int __reset_user_request_callback(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_set_event_cb(package_manager_request_h request, package_manager_request_event_cb callback, void *user_data) @@ -316,7 +333,9 @@ API int package_manager_request_set_event_cb(package_manager_request_h request, return __reset_user_request_callback(request, callback, user_data); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_unset_event_cb(package_manager_request_h request) { if (package_manager_client_validate_handle(request)) @@ -327,7 +346,9 @@ API int package_manager_request_unset_event_cb(package_manager_request_h request return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_set_type(package_manager_request_h request, const char *pkg_type) { @@ -344,7 +365,9 @@ API int package_manager_request_set_type(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_set_mode(package_manager_request_h request, package_manager_request_mode_e mode) { @@ -359,7 +382,9 @@ API int package_manager_request_set_mode(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_set_tep(package_manager_request_h request, const char *tep_path) { @@ -377,7 +402,9 @@ API int package_manager_request_set_tep(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int package_manager_get_event_type(const char *key, package_manager_event_type_e * event_type) @@ -408,7 +435,9 @@ static int package_manager_get_event_type(const char *key, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static package_manager_error_e __convert_to_error(int errcode) { switch (errcode) { @@ -450,14 +479,18 @@ static package_manager_error_e __convert_to_error(int errcode) return PACKAGE_MANAGER_ERROR_SYSTEM_ERROR; } } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static package_manager_error_e __convert_str_to_error(const char *val) { int errcode = atoi(val); return __convert_to_error(errcode); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __add_event_info(request_event_info **head, int req_id, package_manager_event_type_e event_type, package_manager_event_state_e event_state) @@ -490,6 +523,7 @@ static int __add_event_info(request_event_info **head, int req_id, return 0; } +/* LCOV_EXCL_STOP */ static int __find_event_info(request_event_info **head, int req_id, package_manager_event_type_e *event_type, @@ -515,6 +549,7 @@ static int __find_event_info(request_event_info **head, int req_id, return -1; } +/* LCOV_EXCL_START */ static int __update_event_info(request_event_info **head, int req_id, package_manager_event_type_e event_type, package_manager_event_state_e event_state) @@ -545,7 +580,9 @@ static int __update_event_info(request_event_info **head, int req_id, return -1; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int request_event_handler(uid_t target_uid, int req_id, const char *pkg_type, const char *pkg_name, const char *key, const char *val, const void *pmsg, void *data) @@ -631,7 +668,9 @@ static int request_event_handler(uid_t target_uid, int req_id, const char *pkg_t return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int internal_request_callback(uid_t target_uid, int req_id, const char *pkg_type, const char *pkg_name, const char *key, const char *val, const void *pmsg, void *data) @@ -740,7 +779,9 @@ static int internal_request_callback(uid_t target_uid, int req_id, const char *p return 0; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static void internal_res_request_callback(uid_t target_uid, int req_id, const char *pkgid, const char *request_type, const char *status, pkgmgr_res_event_info *handle, void *data) @@ -802,7 +843,9 @@ static void internal_res_request_callback(uid_t target_uid, int req_id, return; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_install(package_manager_request_h request, const char *path, pkgmgr_handler event_cb, int *id) { @@ -827,7 +870,9 @@ static int __request_install(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_install_packages(package_manager_request_h request, const char **paths, int n_paths, pkgmgr_handler event_cb, int *id) @@ -858,7 +903,9 @@ static int __request_install_packages(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_uninstall(package_manager_request_h request, const char *name, pkgmgr_handler event_cb, int *id) { @@ -883,7 +930,9 @@ static int __request_uninstall(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_move(package_manager_request_h request, const char *name, package_manager_move_type_e move_type, pkgmgr_handler event_cb, int *id) @@ -909,7 +958,9 @@ static int __request_move(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_mount_install(package_manager_request_h request, const char *path, pkgmgr_handler event_cb, int *id) { @@ -934,7 +985,9 @@ static int __request_mount_install(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_mount_install_packages(package_manager_request_h request, const char **paths, int n_paths, pkgmgr_handler event_cb, int *id) @@ -965,7 +1018,9 @@ static int __request_mount_install_packages(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_res_copy(package_manager_request_h request, pkgmgr_res_handler event_cb, int *id) { @@ -985,7 +1040,9 @@ static int __request_res_copy(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_res_create_dir(package_manager_request_h request, pkgmgr_res_handler event_cb, int *id) { @@ -1006,7 +1063,9 @@ static int __request_res_create_dir(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ static int __request_res_remove(package_manager_request_h request, pkgmgr_res_handler event_cb, int *id) { @@ -1027,13 +1086,17 @@ static int __request_res_remove(package_manager_request_h request, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_install(package_manager_request_h request, const char *path, int *id) { return __request_install(request, path, NULL, id); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_install_with_cb(package_manager_request_h request, const char *path, package_manager_request_event_cb callback, void *user_data, int *id) @@ -1057,14 +1120,18 @@ API int package_manager_request_install_with_cb(package_manager_request_h reques return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_install_packages( package_manager_request_h request, const char **paths, int paths_count, int *id) { return __request_install_packages(request, paths, paths_count, NULL, id); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_install_packages_with_cb( package_manager_request_h request, const char **paths, int paths_count, package_manager_request_event_cb callback, @@ -1093,13 +1160,17 @@ API int package_manager_request_install_packages_with_cb( return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_uninstall(package_manager_request_h request, const char *name, int *id) { return __request_uninstall(request, name, NULL, id); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_uninstall_with_cb(package_manager_request_h request, const char *name, package_manager_request_event_cb callback, void *user_data, int *id) @@ -1123,13 +1194,17 @@ API int package_manager_request_uninstall_with_cb(package_manager_request_h requ return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_move(package_manager_request_h request, const char *name, package_manager_move_type_e move_type) { return __request_move(request, name, move_type, NULL, NULL); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_move_with_cb(package_manager_request_h request, const char *name, package_manager_move_type_e move_type, package_manager_request_event_cb callback, void *user_data, int *id) @@ -1153,13 +1228,17 @@ API int package_manager_request_move_with_cb(package_manager_request_h request, return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_mount_install(package_manager_request_h request, const char *path, int *id) { return __request_mount_install(request, path, NULL, id); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_mount_install_with_cb(package_manager_request_h request, const char *path, package_manager_request_event_cb callback, void *user_data, int *id) @@ -1183,7 +1262,9 @@ API int package_manager_request_mount_install_with_cb(package_manager_request_h return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_mount_install_packages( package_manager_request_h request, const char **paths, int paths_count, int *id) @@ -1191,7 +1272,9 @@ API int package_manager_request_mount_install_packages( return __request_mount_install_packages(request, paths, paths_count, NULL, id); } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_mount_install_packages_with_cb( package_manager_request_h request, const char **paths, int paths_count, package_manager_request_event_cb callback, @@ -1220,6 +1303,7 @@ API int package_manager_request_mount_install_packages_with_cb( return ret; } +/* LCOV_EXCL_STOP */ API int package_manager_create(package_manager_h *manager) { @@ -1239,20 +1323,24 @@ API int package_manager_create(package_manager_h *manager) package_manager = calloc(1, sizeof(struct package_manager_s)); if (package_manager == NULL) { + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, "failed to create a package_manager handle"); + /* LCOV_EXCL_STOP */ } package_manager->ctype = PC_LISTENING; package_manager->pc = pkgmgr_client_new(PC_LISTENING); if (package_manager->pc == NULL) { + /* LCOV_EXCL_START */ free(package_manager); return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, "failed to create a package_manager client"); + /* LCOV_EXCL_STOP */ } package_manager->handle_id = package_manager_new_id(); @@ -1301,6 +1389,7 @@ API int package_manager_destroy(package_manager_h manager) * https://wiki.tizen.org/wiki/Security/User_and_group_ID_assignment_policy */ #define REGULAR_USER 5000 +/* LCOV_EXCL_START */ static int __validate_event_signal(uid_t target_uid) { uid_t self = getuid(); @@ -1313,6 +1402,7 @@ static int __validate_event_signal(uid_t target_uid) return -1; } +/* LCOV_EXCL_STOP */ static int internal_callback(uid_t target_uid, int req_id, const char *pkg_type, const char *pkg_name, const char *key, @@ -1341,15 +1431,19 @@ static int internal_callback(uid_t target_uid, int req_id, const char *pkg_type, g_mutex_lock(&manager->mutex); info = g_hash_table_lookup(manager->event_info_table, pkg_name); } else { + /* LCOV_EXCL_START */ _LOGE("invalid handle"); return PACKAGE_MANAGER_ERROR_NONE; + /* LCOV_EXCL_STOP */ } if (!info) { if (strcasecmp(key, "start") != 0) { + /* LCOV_EXCL_START */ _LOGD("unexpected signal or no info(removed)"); g_mutex_unlock(&manager->mutex); return PACKAGE_MANAGER_ERROR_NONE; + /* LCOV_EXCL_STOP */ } } @@ -1369,7 +1463,9 @@ static int internal_callback(uid_t target_uid, int req_id, const char *pkg_type, error = PACKAGE_MANAGER_ERROR_NONE; invoke_callback = true; } else { + /* LCOV_EXCL_START */ _LOGE("unexpected start event"); + /* LCOV_EXCL_STOP */ } } else if (strcasecmp(key, "install_percent") == 0 || strcasecmp(key, "progress_percent") == 0) { @@ -1380,12 +1476,14 @@ static int internal_callback(uid_t target_uid, int req_id, const char *pkg_type, error = PACKAGE_MANAGER_ERROR_NONE; invoke_callback = true; } else if (strcasecmp(key, "error") == 0) { + /* LCOV_EXCL_START */ info->event_state = PACKAGE_MANAGER_EVENT_STATE_FAILED; event_type = info->event_type; event_state = info->event_state; progress = 0; error = __convert_str_to_error(val); invoke_callback = true; + /* LCOV_EXCL_STOP */ } else if (strcasecmp(key, "end") == 0) { if (info->event_state != PACKAGE_MANAGER_EVENT_STATE_FAILED) { if (strcasecmp(val, "ok") == 0) { @@ -1396,12 +1494,14 @@ static int internal_callback(uid_t target_uid, int req_id, const char *pkg_type, error = PACKAGE_MANAGER_ERROR_NONE; invoke_callback = true; } else { + /* LCOV_EXCL_START */ event_type = info->event_type; event_state = PACKAGE_MANAGER_EVENT_STATE_FAILED; progress = 0; error = PACKAGE_MANAGER_ERROR_SYSTEM_ERROR; invoke_callback = true; + /* LCOV_EXCL_STOP */ } } g_hash_table_remove(manager->event_info_table, info->pkg_name); @@ -1416,6 +1516,7 @@ static int internal_callback(uid_t target_uid, int req_id, const char *pkg_type, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_START */ static void internal_res_callback(uid_t target_uid, int req_id, const char *pkgid, const char *request_type, const char *status, pkgmgr_res_event_info *handle, void *data) @@ -1476,6 +1577,7 @@ static void internal_res_callback(uid_t target_uid, int req_id, return; } +/* LCOV_EXCL_STOP */ static int __convert_status_type(package_manager_status_type_e status_type) { @@ -1498,6 +1600,7 @@ static int __convert_status_type(package_manager_status_type_e status_type) type |= PKGMGR_CLIENT_STATUS_INSTALL_PROGRESS; if (status_type & PACKAGE_MANAGER_STATUS_TYPE_GET_SIZE) type |= PKGMGR_CLIENT_STATUS_GET_SIZE; + /* LCOV_EXCL_START */ if (status_type & PACKAGE_MANAGER_STATUS_TYPE_RES_COPY) type |= PKGMGR_CLIENT_STATUS_RES_COPY; if (status_type & PACKAGE_MANAGER_STATUS_TYPE_RES_CREATE_DIR) @@ -1506,6 +1609,7 @@ static int __convert_status_type(package_manager_status_type_e status_type) type |= PKGMGR_CLIENT_STATUS_RES_REMOVE; if (status_type & PACKAGE_MANAGER_STATUS_TYPE_RES_UNINSTALL) type |= PKGMGR_CLIENT_STATUS_RES_UNINSTALL; + /* LCOV_EXCL_STOP */ return type; } @@ -1530,13 +1634,17 @@ API int package_manager_set_event_status(package_manager_h manager, int status_t return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); if (status_type < 0 || status_type > type_all) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ type = __convert_status_type(status_type); retval = pkgmgr_client_set_status_type(manager->pc, type); if (retval < 0) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -1562,15 +1670,19 @@ API int package_manager_set_event_cb(package_manager_h manager, retval = pkgmgr_client_remove_listen_status(manager->pc); if (retval < 0) { + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } retval = pkgmgr_client_listen_status(manager->pc, internal_callback, manager); if (retval < 0) { + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } if (!manager->event_info_table) { @@ -1582,6 +1694,7 @@ API int package_manager_set_event_cb(package_manager_h manager, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_START */ API int package_manager_set_res_event_cb(package_manager_h manager, package_manager_res_event_cb callback, void *user_data) { @@ -1612,6 +1725,7 @@ API int package_manager_set_res_event_cb(package_manager_h manager, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ API int package_manager_unset_event_cb(package_manager_h manager) { @@ -1633,15 +1747,19 @@ API int package_manager_unset_event_cb(package_manager_h manager) retval = pkgmgr_client_remove_listen_status(manager->pc); if (retval == PKGMGR_R_EINVAL) + /* LCOV_EXCL_START */ return package_manager_error (PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ else if (retval == PKGMGR_R_ERROR) + /* LCOV_EXCL_START */ return package_manager_error (PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -1661,17 +1779,23 @@ API int package_manager_get_package_id_by_app_id(const char *app_id, char **pack return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); if (pkgmgrinfo_appinfo_get_appinfo(app_id, &pkgmgrinfo_appinfo) != PMINFO_R_OK) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ retval = pkgmgrinfo_appinfo_get_pkgname(pkgmgrinfo_appinfo, &pkg_id); if (retval != PMINFO_R_OK) { + /* LCOV_EXCL_START */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } pkg_id_dup = strdup(pkg_id); if (pkg_id_dup == NULL) { + /* LCOV_EXCL_START */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } *package_id = pkg_id_dup; @@ -1719,7 +1843,9 @@ API int package_manager_compare_package_cert_info(const char *lhs_package_id, co if (lhs_package_id == NULL || rhs_package_id == NULL || compare_result == NULL) return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); if (pkgmgrinfo_pkginfo_compare_pkg_cert_info(lhs_package_id, rhs_package_id, &result) != PKGMGR_R_OK) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ *compare_result = (package_manager_compare_result_type_e)result; return PACKAGE_MANAGER_ERROR_NONE; @@ -1756,22 +1882,30 @@ API int package_manager_is_preload_package_by_app_id(const char *app_id, bool *p retval = pkgmgrinfo_appinfo_get_pkgname(pkgmgrinfo_appinfo, &pkg_id); if (retval != PMINFO_R_OK) { + /* LCOV_EXCL_START */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } if (pkgmgrinfo_pkginfo_get_pkginfo(pkg_id, &pkgmgrinfo_pkginfo) != PMINFO_R_OK) { + /* LCOV_EXCL_START */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); pkgmgrinfo_pkginfo_destroy_pkginfo(pkgmgrinfo_pkginfo); return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } if (pkgmgrinfo_pkginfo_is_preload(pkgmgrinfo_pkginfo, &is_preload) != PMINFO_R_OK) { + /* LCOV_EXCL_START */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); pkgmgrinfo_pkginfo_destroy_pkginfo(pkgmgrinfo_pkginfo); return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } if (is_preload) + /* LCOV_EXCL_START */ *preload = 1; + /* LCOV_EXCL_STOP */ else *preload = 0; @@ -1794,18 +1928,22 @@ API int package_manager_get_permission_type(const char *app_id, package_manager_ return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); retval = pkgmgrinfo_appinfo_get_permission_type(pkgmgrinfo_appinfo, &permission); if (retval != PMINFO_R_OK) { + /* LCOV_EXCL_START */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } if (permission == PMINFO_PERMISSION_NORMAL) *permission_type = PACKAGE_MANAGER_PERMISSION_NORMAL; + /* LCOV_EXCL_START */ else if (permission == PMINFO_PERMISSION_SIGNATURE) *permission_type = PACKAGE_MANAGER_PERMISSION_SIGNATURE; else if (permission == PMINFO_PERMISSION_PRIVILEGE) *permission_type = PACKAGE_MANAGER_PERMISSION_PRIVILEGE; else *permission_type = PACKAGE_MANAGER_PERMISSION_NORMAL; + /* LCOV_EXCL_STOP */ pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo); return PACKAGE_MANAGER_ERROR_NONE; @@ -1824,6 +1962,7 @@ API int package_manager_clear_cache_dir(const char *package_id) return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_START */ API int package_manager_clear_data_dir(const char *package_id) { int retval; @@ -1864,8 +2003,9 @@ API int package_manager_clear_data_dir(const char *package_id) return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ - +/* LCOV_EXCL_START */ API int package_manager_clear_user_data_with_path(const char *package_id, const char *file_path) { @@ -1908,11 +2048,14 @@ API int package_manager_clear_user_data_with_path(const char *package_id, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_clear_all_cache_dir(void) { return package_manager_clear_cache_dir(PKG_CLEAR_ALL_CACHE); } +/* LCOV_EXCL_STOP */ struct getsize_cbdata { pkgmgr_client *pc; @@ -1929,8 +2072,10 @@ static void __free_getsize_cbdata(struct getsize_cbdata *cbdata) static void __copy_size_info(const pkg_size_info_t *src, package_size_info_t *dst) { if (src == NULL || dst == NULL) { + /* LCOV_EXCL_START */ _LOGE("src or dst size info is NULL"); return; + /* LCOV_EXCL_STOP */ } dst->data_size = src->data_size; @@ -1946,9 +2091,11 @@ static void __result_cb(pkgmgr_client *pc, const char *pkgid, const pkg_size_inf struct getsize_cbdata *cbdata = (struct getsize_cbdata *)user_data; package_manager_size_info_receive_cb callback = cbdata->cb; if (callback == NULL) { + /* LCOV_EXCL_START */ _LOGE("callback is null."); __free_getsize_cbdata(cbdata); return; + /* LCOV_EXCL_STOP */ } package_size_info_t size_info; @@ -1964,9 +2111,11 @@ static void __total_result_cb(pkgmgr_client *pc, const pkg_size_info_t *result, struct getsize_cbdata *cbdata = (struct getsize_cbdata *)user_data; package_manager_total_size_info_receive_cb callback = cbdata->cb; if (callback == NULL) { + /* LCOV_EXCL_START */ _LOGE("callback is null."); __free_getsize_cbdata(cbdata); return; + /* LCOV_EXCL_STOP */ } package_size_info_t size_info; @@ -1986,12 +2135,16 @@ static int _get_pkg_size_info(const char *package_id, void *callback, void *user cbdata = malloc(sizeof(struct getsize_cbdata)); if (cbdata == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ pkgmgr_client *pc = pkgmgr_client_new(PC_REQUEST); if (pc == NULL) { + /* LCOV_EXCL_START */ free(cbdata); return package_manager_error(PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } cbdata->pc = pc; @@ -2005,9 +2158,11 @@ static int _get_pkg_size_info(const char *package_id, void *callback, void *user res = pkgmgr_client_get_total_package_size_info(pc, __total_result_cb, cbdata); if (res != PKGMGR_R_OK) { + /* LCOV_EXCL_START */ __free_getsize_cbdata(cbdata); res = package_manager_convert_internal_error(res); return package_manager_error(res, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } return PACKAGE_MANAGER_ERROR_NONE; @@ -2041,7 +2196,9 @@ API int package_manager_filter_create(package_manager_filter_h *handle) retval = pkgmgrinfo_pkginfo_filter_create(&pkgmgr_filter); if (retval != PACKAGE_MANAGER_ERROR_NONE) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ *handle = pkgmgr_filter; @@ -2061,7 +2218,9 @@ API int package_manager_filter_destroy(package_manager_filter_h handle) retval = pkgmgrinfo_pkginfo_filter_destroy(handle); if (retval != PACKAGE_MANAGER_ERROR_NONE) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -2080,7 +2239,9 @@ API int package_manager_filter_add_bool(package_manager_filter_h handle, retval = pkgmgrinfo_pkginfo_filter_add_bool(handle, property, value); if (retval != PACKAGE_MANAGER_ERROR_NONE) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -2099,7 +2260,9 @@ API int package_manager_filter_add_string(package_manager_filter_h handle, const retval = pkgmgrinfo_pkginfo_filter_add_string(handle, property, value); if (retval != PACKAGE_MANAGER_ERROR_NONE) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -2116,7 +2279,9 @@ API int package_manager_filter_count(package_manager_filter_h handle, int *count retval = pkgmgrinfo_pkginfo_filter_count(handle, count); if (retval < 0) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -2204,14 +2369,20 @@ API int package_manager_updateinfo_set_pkgid(package_updateinfo_request_h pkg_up struct package_updateinfo_request_s *request; if (pkg_updateinfo_req == NULL || pkg_updateinfo_req->updateinfo_handle == NULL || pkgid == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request = (struct package_updateinfo_request_s *)pkg_updateinfo_req; if (request->updateinfo_handle->pkgid) + /* LCOV_EXCL_START */ free(request->updateinfo_handle->pkgid); + /* LCOV_EXCL_STOP */ request->updateinfo_handle->pkgid = strdup(pkgid); if (request->updateinfo_handle->pkgid == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -2221,14 +2392,20 @@ API int package_manager_updateinfo_set_version(package_updateinfo_request_h pkg_ struct package_updateinfo_request_s *request; if (pkg_updateinfo_req == NULL || pkg_updateinfo_req->updateinfo_handle == NULL || version == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request = (struct package_updateinfo_request_s *)pkg_updateinfo_req; if (request->updateinfo_handle->version) + /* LCOV_EXCL_START */ free(request->updateinfo_handle->version); + /* LCOV_EXCL_STOP */ request->updateinfo_handle->version = strdup(version); if (request->updateinfo_handle->version == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -2257,12 +2434,16 @@ API int package_manager_updateinfo_set_type(package_updateinfo_request_h pkg_upd struct package_updateinfo_request_s *request; if (pkg_updateinfo_req == NULL || pkg_updateinfo_req->updateinfo_handle == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request = (struct package_updateinfo_request_s *)pkg_updateinfo_req; retval = package_manager_updateinfo_convert_property(type, &converted_type); + /* LCOV_EXCL_START */ if (retval != 0) return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request->updateinfo_handle->type = converted_type; return PACKAGE_MANAGER_ERROR_NONE; @@ -2273,7 +2454,9 @@ API int package_manager_updateinfo_request_destroy(package_updateinfo_request_h struct package_updateinfo_request_s *request; if (pkg_updateinfo_req == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request = (struct package_updateinfo_request_s *)pkg_updateinfo_req; if (request->pc) @@ -2297,23 +2480,31 @@ API int package_manager_updateinfo_request_create(package_updateinfo_request_h pkg_update_info_t *update_info; if (pkg_updateinfo_req == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request = calloc(1, sizeof(struct package_updateinfo_request_s)); if (request == NULL) + /* LCOV_EXCL_START */ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ request->pc = pkgmgr_client_new(PC_REQUEST); if (request->pc == NULL) { + /* LCOV_EXCL_START */ free(request); return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } update_info = calloc(1, sizeof(pkg_update_info_t)); if (update_info == NULL) { + /* LCOV_EXCL_START */ pkgmgr_client_free(request->pc); free(request); return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ } request->updateinfo_handle = update_info; @@ -2321,6 +2512,7 @@ API int package_manager_updateinfo_request_create(package_updateinfo_request_h return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_START */ API int package_manager_updateinfo_request_register(package_updateinfo_request_h pkg_updateinfo_req) { struct package_updateinfo_request_s *update_info; @@ -2336,7 +2528,9 @@ API int package_manager_updateinfo_request_register(package_updateinfo_request_h return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_updateinfo_request_unregister(package_updateinfo_request_h pkg_updateinfo_req, const char *pkgid) { int retval; @@ -2352,7 +2546,9 @@ API int package_manager_updateinfo_request_unregister(package_updateinfo_request return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_updateinfo_request_unregister_all(package_updateinfo_request_h pkg_updateinfo_req) { int retval; @@ -2369,7 +2565,9 @@ API int package_manager_updateinfo_request_unregister_all(package_updateinfo_req return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_add_res_copy_path( package_manager_request_h request, const char *src_path, const char *dest_path) @@ -2389,7 +2587,9 @@ API int package_manager_request_add_res_copy_path( return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_res_copy_with_cb(package_manager_request_h request, package_manager_request_res_event_cb callback, void *user_data, int *id) @@ -2420,7 +2620,9 @@ API int package_manager_request_res_copy_with_cb(package_manager_request_h reque return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_add_res_create_dir_path( package_manager_request_h request, const char *dir_path) { @@ -2439,7 +2641,9 @@ API int package_manager_request_add_res_create_dir_path( return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_res_create_dir_with_cb( package_manager_request_h request, package_manager_request_res_event_cb callback, @@ -2471,7 +2675,9 @@ API int package_manager_request_res_create_dir_with_cb( return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_add_res_remove_path( package_manager_request_h request, const char *res_path) { @@ -2490,7 +2696,9 @@ API int package_manager_request_add_res_remove_path( return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_request_res_remove_with_cb( package_manager_request_h request, package_manager_request_res_event_cb callback, @@ -2522,7 +2730,9 @@ API int package_manager_request_res_remove_with_cb( return ret; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_res_event_info_get_error_code( package_manager_res_event_info_h handle, package_manager_error_e *error) @@ -2555,12 +2765,14 @@ API int package_manager_res_event_info_get_error_code( return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ typedef struct _foreach_res_event_path_context_ { package_manager_res_event_path_cb callback; void *user_data; } foreach_res_event_path_context_s; +/* LCOV_EXCL_START */ static int package_res_event_info_foreach_path_cb(const char *path, pkgmgr_res_event_path_state state, void *user_data) { @@ -2594,7 +2806,9 @@ static int package_res_event_info_foreach_path_cb(const char *path, return 0; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_res_event_info_foreach_path( package_manager_res_event_info_h handle, package_manager_res_event_path_cb callback, void *user_data) @@ -2631,7 +2845,9 @@ API int package_manager_res_event_info_foreach_path( return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_get_priv_shared_res_path(const char *package_id, char **path) { int ret; @@ -2659,3 +2875,4 @@ API int package_manager_get_priv_shared_res_path(const char *package_id, char ** return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ diff --git a/src/package_manager_drm.c b/src/package_manager_drm.c index 8771946..d545092 100644 --- a/src/package_manager_drm.c +++ b/src/package_manager_drm.c @@ -21,6 +21,7 @@ #include "package_manager.h" #include "package_manager_internal.h" +/* LCOV_EXCL_START */ API int package_manager_drm_generate_license_request(const char *resp_data, char **req_data, char **license_url) { @@ -48,7 +49,9 @@ API int package_manager_drm_generate_license_request(const char *resp_data, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_drm_register_license(const char *resp_data) { int ret; @@ -75,7 +78,9 @@ API int package_manager_drm_register_license(const char *resp_data) return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ +/* LCOV_EXCL_START */ API int package_manager_drm_decrypt_package(const char *drm_file_path, const char *decrypted_file_path) { @@ -103,3 +108,4 @@ API int package_manager_drm_decrypt_package(const char *drm_file_path, return PACKAGE_MANAGER_ERROR_NONE; } +/* LCOV_EXCL_STOP */ diff --git a/src/package_manager_internal.c b/src/package_manager_internal.c index 326742b..c058f63 100644 --- a/src/package_manager_internal.c +++ b/src/package_manager_internal.c @@ -56,31 +56,39 @@ int check_privilege(privilege_type type) if (pid == tid) { fd = open("/proc/self/attr/current", O_RDONLY); } else { + /* LCOV_EXCL_START */ // Check current thread smack label. char path[256] = { 0 }; pid = tid; snprintf(path, sizeof(path), "/proc/%d/attr/current", tid); fd = open(path, O_RDONLY); + /* LCOV_EXCL_STOP */ } if (fd < 0) { + /* LCOV_EXCL_START */ LOGE("open failed: %d", errno); return PACKAGE_MANAGER_ERROR_IO_ERROR; + /* LCOV_EXCL_STOP */ } ret = read(fd, subject_label, MAX_SMACK_LABEL_LEN); if (ret < 0) { + /* LCOV_EXCL_START */ LOGE("read failed: %d", errno); close(fd); return PACKAGE_MANAGER_ERROR_IO_ERROR; + /* LCOV_EXCL_STOP */ } close(fd); pthread_mutex_lock(&__mutex); ret = cynara_initialize(&p_cynara, NULL); if (ret != CYNARA_API_SUCCESS) { + /* LCOV_EXCL_START */ LOGE("init cynara failed: %d", ret); pthread_mutex_unlock(&__mutex); return PACKAGE_MANAGER_ERROR_IO_ERROR; + /* LCOV_EXCL_STOP */ } snprintf(uid, 10, "%d", getuid()); @@ -90,16 +98,20 @@ int check_privilege(privilege_type type) case PRIVILEGE_PACKAGE_MANAGER_INFO: privilege = "http://tizen.org/privilege/packagemanager.info"; break; + /* LCOV_EXCL_START */ case PRIVILEGE_PACKAGE_MANAGER_ADMIN: privilege = "http://tizen.org/privilege/packagemanager.admin"; break; + /* LCOV_EXCL_STOP */ case PRIVILEGE_PACKAGE_MANAGER_CACHE: privilege = "http://tizen.org/privilege/packagemanager.clearcache"; break; + /* LCOV_EXCL_START */ default: privilege = NULL; break; + /* LCOV_EXCL_STOP */ } ret = cynara_check(p_cynara, subject_label, session, uid, privilege); @@ -109,8 +121,10 @@ int check_privilege(privilege_type type) pthread_mutex_unlock(&__mutex); if (ret != CYNARA_API_ACCESS_ALLOWED) { + /* LCOV_EXCL_START */ LOGE("cynara access check failed: %d", ret); return PACKAGE_MANAGER_ERROR_PERMISSION_DENIED; + /* LCOV_EXCL_STOP */ } return PACKAGE_MANAGER_ERROR_NONE; @@ -124,18 +138,22 @@ static const char *package_manager_error_to_string(package_manager_error_e return "NONE"; case PACKAGE_MANAGER_ERROR_INVALID_PARAMETER: return "INVALID_PARAMETER"; + /* LCOV_EXCL_START */ case PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY: return "OUT_OF_MEMORY"; + /* LCOV_EXCL_STOP */ case PACKAGE_MANAGER_ERROR_IO_ERROR: return "IO_ERROR"; case PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE: return "NO_SUCH_PACKAGE"; + /* LCOV_EXCL_START */ case PACKAGE_MANAGER_ERROR_PERMISSION_DENIED: return "PERMISSION_DENIED"; case PACKAGE_MANAGER_ERROR_SYSTEM_ERROR: return "SEVERE_SYSTEM_ERROR"; default: return "UNKNOWN"; + /* LCOV_EXCL_STOP */ } } @@ -157,9 +175,11 @@ int package_manager_convert_internal_error(int internal_error) return PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY; case PKGMGR_R_EIO: return PACKAGE_MANAGER_ERROR_IO_ERROR; + /* LCOV_EXCL_START */ default: _LOGE("Unexpected error"); return PACKAGE_MANAGER_ERROR_SYSTEM_ERROR; + /* LCOV_EXCL_STOP */ } } @@ -167,9 +187,11 @@ int package_manager_error(package_manager_error_e error, const char *function, const char *description) { if (description) { + /* LCOV_EXCL_START */ _LOGE("[%s] %s(0x%08x) : %s", function, package_manager_error_to_string(error), error, description); + /* LCOV_EXCL_STOP */ } else { _LOGE("[%s] %s(0x%08x)", function, package_manager_error_to_string(error), error); @@ -191,13 +213,17 @@ static int package_info_foreach_package_info_cb(const pkgmgrinfo_pkginfo_h handl int ret; if (handle == NULL || foreach_pkg_context == NULL) { + /* LCOV_EXCL_START */ package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); return PMINFO_R_EINVAL; + /* LCOV_EXCL_STOP */ } ret = package_info_create_with_pkginfo(handle, &package_info); if (ret != PACKAGE_MANAGER_ERROR_NONE) + /* LCOV_EXCL_START */ return package_manager_error(ret, __FUNCTION__, NULL); + /* LCOV_EXCL_STOP */ r = foreach_pkg_context->callback(package_info, foreach_pkg_context->user_data); @@ -220,7 +246,9 @@ int package_info_foreach_package_info(package_manager_package_info_cb callback, ret = pkgmgrinfo_pkginfo_get_list(package_info_foreach_package_info_cb, &foreach_pkg_context); if (ret < 0) + /* LCOV_EXCL_START */ return PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE; + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; } @@ -239,7 +267,9 @@ int package_info_filter_foreach_package_info(pkgmgrinfo_pkginfo_filter_h handle, ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, package_info_foreach_package_info_cb, &foreach_pkg_context); if (ret < 0) + /* LCOV_EXCL_START */ return PACKAGE_MANAGER_ERROR_IO_ERROR; + /* LCOV_EXCL_STOP */ return PACKAGE_MANAGER_ERROR_NONE; }