Add testcases for GTest (Include lib folder) 62/167062/4 accepted/tizen/unified/20180123.135355 submit/tizen/20180118.100229
authorDoHyun Pyun <dh79.pyun@samsung.com>
Mon, 15 Jan 2018 07:08:28 +0000 (16:08 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 16 Jan 2018 00:26:38 +0000 (09:26 +0900)
bt-share: 36 testcases (Line Cov: 91.4%, Func Cov: 100%)
lib: 1 testcases (Line Cov: 86.1%, Func Cov: 100%)

Change-Id: Icc271761a94587d974943948f8a35a3445698dbf
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
bt-share/src/bt-share-ipc.c
bt-share/src/bt-share-notification.c
bt-share/src/bt-share-syspopup.c
lib/CMakeLists.txt
lib/bt-share-db.c
unittest/bluetooth-share_test.cpp

index 7526667..c47bda0 100644 (file)
@@ -99,6 +99,7 @@ static void __popup_res_cb(int res)
 }
 /* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 static char *__bt_transfer_folder_path(char *dest_path)
 {
        char *dst_path = (char *)g_malloc0(STORAGE_PATH_LEN_MAX);
@@ -115,6 +116,7 @@ static char *__bt_transfer_folder_path(char *dest_path)
        DBG("obex transfed path : %s", dst_path);
        return dst_path;
 }
+/* LCOV_EXCL_STOP */
 
 /* LCOV_EXCL_START */
 static opc_transfer_info_t *__add_transfer_info(GVariant *msg)
@@ -626,6 +628,7 @@ static time_t __bt_get_current_timedata(void)
        return ((int)t);
 }
 
+/* LCOV_EXCL_START */
 static char *__bt_conv_addr_type_to_addr_string(char *addr)
 {
        retv_if(addr == NULL, NULL);
@@ -637,6 +640,7 @@ static char *__bt_conv_addr_type_to_addr_string(char *addr)
 
        return g_strdup(address);
 }
+/* LCOV_EXCL_STOP */
 
 /* LCOV_EXCL_START */
 static void __bt_create_send_failed_data(char *filepath, char *dev_name,
index 0a6fc29..a5e252c 100644 (file)
@@ -598,6 +598,7 @@ gboolean _bt_update_notification_status(bt_appdata_t *ad)
 }
 #endif
 
+/* LCOV_EXCL_START */
 static void __bt_notification_changed_cb(void *data, notification_type_e type,
                notification_op *op_list, int num_op)
 {
@@ -654,6 +655,7 @@ static void __bt_notification_changed_cb(void *data, notification_type_e type,
        FN_END;
 
 }
+/* LCOV_EXCL_STOP */
 
 void _bt_register_notification_cb(bt_appdata_t *ad)
 {
index 58693f0..f808bd2 100644 (file)
@@ -35,6 +35,7 @@ extern bt_appdata_t *app_state;
 #define BT_POPUP_SYSPOPUP_TIMEOUT_FOR_MULTIPLE_POPUPS 200
 #define BT_SYSPOPUP_EVENT_LEN_MAX 50
 
+/* LCOV_EXCL_START */
 static gboolean __bt_system_popup_timer_cb(gpointer user_data)
 {
        int ret = 0;
@@ -49,6 +50,7 @@ static gboolean __bt_system_popup_timer_cb(gpointer user_data)
        bundle_free(b);
        return FALSE;
 }
+/* LCOV_EXCL_STOP */
 
 int _bt_launch_system_popup(bt_app_event_type_e event_type,
                            bt_app_sys_popup_params_t *popup_params,
index a3d63c2..b765e75 100644 (file)
@@ -22,6 +22,11 @@ SET(LIBDIR ${LIB_INSTALL_DIR})
 SET(INCLUDEDIR "/usr/include")
 SET(VERSION 1.0)
 
+IF (BUILD_GTESTS)
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fprofile-arcs -ftest-coverage")
+SET(apipkgs_LDFLAGS "${apipkgs_LDFLAGS} -lgcov")
+ENDIF (BUILD_GTESTS)
+
 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0)
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${apipkgs_LDFLAGS})
index fa6efcf..6a4c06a 100644 (file)
@@ -101,8 +101,10 @@ static sqlite3 *__bt_db_open(void)
 
        ret = db_util_open(BT_TRANSFER_DB, &db, DB_UTIL_REGISTER_HOOK_METHOD);
        if (ret) {
+               /* LCOV_EXCL_START */
                ERR("Can't open database: %s", sqlite3_errmsg(db));
                db_util_close(db);
+               /* LCOV_EXCL_STOP */
                return NULL;
        }
 
@@ -162,6 +164,7 @@ static int __bt_db_insert_record(sqlite3 *db, int db_table, bt_tr_data_t *data)
        return BT_SHARE_ERR_NONE;
 
 error:
+       /* LCOV_EXCL_START */
        ERR("[ERROR] szQuery : %s", query);
        ERR("[ERROR] SQL error msg : %s", (char *)sqlite3_errmsg(db));
        if (stmt)
@@ -170,6 +173,7 @@ error:
        if (query)
                sqlite3_free(query);
        return BT_SHARE_ERR_INTERNAL;
+       /* LCOV_EXCL_STOP */
 }
 
 static int __bt_db_update_record(sqlite3 *db, int db_table, int id, bt_tr_data_t *data)
@@ -374,19 +378,23 @@ static void __bt_release_memory(bt_tr_data_t *data)
        g_free(data);
 }
 
+/* LCOV_EXCL_START */
 static void __bt_release_noti_id(void *noti_id)
 {
        retm_if(noti_id == NULL, "Invalid data");
        DBG("Releasing memory for %d", *(int *)noti_id);
        g_free((int *)noti_id);
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 static void __bt_release_file_list(void *file)
 {
        retm_if(file == NULL, "Invalid data");
        DBG("Releasing file: [%s]", (char *)file);
        g_free((char *)file);
 }
+/* LCOV_EXCL_STOP */
 
 static int __bt_db_release_record_list(GSList *list)
 {
@@ -521,6 +529,7 @@ EXPORT_API GSList *bt_share_get_all_tr_data_list(sqlite3 *db, int db_table)
        return __bt_db_get_record_list(db, query);
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API GSList *bt_share_get_completed_tr_data_list(sqlite3 *db,
                int db_table, const char *db_sid)
 {
@@ -535,7 +544,9 @@ EXPORT_API GSList *bt_share_get_completed_tr_data_list(sqlite3 *db,
 
        return __bt_db_get_record_list(db, query);
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 EXPORT_API GSList *bt_share_get_completed_tr_data_by_device(sqlite3 *db,
                int db_table, const char *address)
 {
@@ -550,7 +561,9 @@ EXPORT_API GSList *bt_share_get_completed_tr_data_by_device(sqlite3 *db,
 
        return __bt_db_get_record_list(db, query);
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 EXPORT_API GSList *bt_share_get_completed_tr_data_by_sid(sqlite3 *db,
                int db_table, const char *address, const char *sid)
 {
@@ -565,6 +578,7 @@ EXPORT_API GSList *bt_share_get_completed_tr_data_by_sid(sqlite3 *db,
 
        return __bt_db_get_record_list(db, query);
 }
+/* LCOV_EXCL_STOP */
 
 EXPORT_API GSList *bt_share_get_all_tr_data_by_sid(sqlite3 *db, int db_table,
                const char *address, const char *sid)
@@ -595,6 +609,7 @@ EXPORT_API GSList *bt_share_get_failed_tr_data_by_sid(sqlite3 *db,
        return __bt_db_get_record_list(db, query);
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API GSList *bt_share_get_pending_tr_data_by_sid(sqlite3 *db,
                int db_table, const char *address, const char *db_sid)
 {
@@ -609,7 +624,9 @@ EXPORT_API GSList *bt_share_get_pending_tr_data_by_sid(sqlite3 *db,
 
        return __bt_db_get_record_list(db, query);
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 EXPORT_API GSList *bt_share_get_tr_data_list_by_status(sqlite3 *db,
                int db_table, int status)
 {
@@ -622,6 +639,7 @@ EXPORT_API GSList *bt_share_get_tr_data_list_by_status(sqlite3 *db,
 
        return __bt_db_get_record_list(db, query);
 }
+/* LCOV_EXCL_STOP */
 
 EXPORT_API unsigned int bt_share_get_last_session_id(sqlite3 *db, int db_table)
 {
@@ -648,6 +666,7 @@ EXPORT_API int bt_share_get_tr_data_count(sqlite3 *db, int db_table)
        return __bt_db_get_record_count(db, query);
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_get_tr_result_count(sqlite3 *db, int db_table,
                int *success, int *fail)
 {
@@ -667,6 +686,8 @@ EXPORT_API int bt_share_get_tr_result_count(sqlite3 *db, int db_table,
 
        return BT_SHARE_ERR_NONE;
 }
+/* LCOV_EXCL_STOP */
+
 
 EXPORT_API int bt_share_remove_tr_data_by_id(sqlite3 *db, int db_table, int id)
 {
@@ -680,6 +701,7 @@ EXPORT_API int bt_share_remove_tr_data_by_id(sqlite3 *db, int db_table, int id)
        return __bt_db_delete_record(db, query);
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_remove_tr_data_by_status(sqlite3 *db,
                int db_table, int status)
 {
@@ -692,6 +714,8 @@ EXPORT_API int bt_share_remove_tr_data_by_status(sqlite3 *db,
 
        return __bt_db_delete_record(db, query);
 }
+/* LCOV_EXCL_STOP */
+
 
 EXPORT_API int bt_share_remove_tr_data_non_pending(sqlite3 *db,
                int db_table)
@@ -705,6 +729,7 @@ EXPORT_API int bt_share_remove_tr_data_non_pending(sqlite3 *db,
        return __bt_db_delete_record(db, query);
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_remove_tr_data_by_notification(sqlite3 *db,
                int db_table, int noti_id)
 {
@@ -716,6 +741,7 @@ EXPORT_API int bt_share_remove_tr_data_by_notification(sqlite3 *db,
 
        return __bt_db_delete_record(db, query);
 }
+/* LCOV_EXCL_STOP */
 
 EXPORT_API int bt_share_remove_all_tr_data(sqlite3 *db, int db_table)
 {
@@ -728,6 +754,7 @@ EXPORT_API int bt_share_remove_all_tr_data(sqlite3 *db, int db_table)
        return __bt_db_delete_record(db, query);
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_update_noti_id(sqlite3 *db, int db_table,
                int noti_id, const char *db_sid)
 {
@@ -749,7 +776,9 @@ EXPORT_API int bt_share_update_noti_id(sqlite3 *db, int db_table,
        FN_END;
        return BT_SHARE_ERR_NONE;
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_get_noti_id(sqlite3 *db, int db_table,
                const char *db_sid)
 {
@@ -783,7 +812,9 @@ EXPORT_API int bt_share_get_noti_id(sqlite3 *db, int db_table,
        FN_END;
        return noti_id;
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_check_noti_id(sqlite3 *db, int db_table,
                int notification_id)
 {
@@ -819,6 +850,7 @@ EXPORT_API int bt_share_check_noti_id(sqlite3 *db, int db_table,
        else
                return BT_SHARE_ERR_UNKNOWN;
 }
+/* LCOV_EXCL_STOP */
 
 EXPORT_API int bt_share_get_unique_id(sqlite3 *db, int db_table,
                const char *db_sid)
@@ -854,6 +886,7 @@ EXPORT_API int bt_share_get_unique_id(sqlite3 *db, int db_table,
        return unique_id;
 }
 
+/* LCOV_EXCL_START */
 EXPORT_API GSList *bt_share_get_noti_list(sqlite3 *db, int db_table)
 {
        int ret = SQLITE_OK;
@@ -888,7 +921,9 @@ EXPORT_API GSList *bt_share_get_noti_list(sqlite3 *db, int db_table)
        FN_END;
        return slist;
 }
+/* LCOV_EXCL_STOP */
 
+/* LCOV_EXCL_START */
 EXPORT_API int bt_share_release_noti_list(GSList *slist)
 {
        FN_START;
@@ -898,6 +933,7 @@ EXPORT_API int bt_share_release_noti_list(GSList *slist)
        FN_END;
        return BT_SHARE_ERR_NONE;
 }
+/* LCOV_EXCL_STOP */
 
 EXPORT_API GSList *bt_share_get_all_temporary_files_by_noti_id(sqlite3 *db,
                int noti_id, char *path) {
index 14ac91c..3e8de9d 100644 (file)
@@ -500,6 +500,139 @@ TEST(BluetoothShare_test, _bt_get_available_ext_memory_p) {
        ASSERT_TRUE(ret >= 0);
 }
 
+TEST(BluetoothShareApi_test, bt_share_db_api_test_p) {
+       int ret = BT_SHARE_ERR_NONE;
+       int session_id = -1;
+       int cnt = -1;
+       sqlite3 *db = NULL;
+       bt_tr_data_t *tmp = NULL;
+       bt_tr_data_t *info = NULL;
+       GSList *tr_data_list = NULL;
+
+       db = bt_share_open_db();
+
+       ASSERT_FALSE(db == NULL);
+
+       tmp = (bt_tr_data_t *)g_malloc0(sizeof(bt_tr_data_t));
+
+       tmp->tr_status = BT_TRANSFER_FAIL;
+       tmp->sid = 1;
+       tmp->file_path = "TEST";
+       tmp->content = "TEST";
+       tmp->dev_name = "TEST";
+       tmp->type = "TEST";
+       tmp->timestamp = 2;
+       tmp->addr = "TEST";
+       tmp->size = 0;
+       tmp->db_sid = "1";
+
+       ret = bt_share_add_tr_data(db, BT_DB_OUTBOUND, tmp);
+
+       if (ret != BT_SHARE_ERR_NONE) {
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_TRUE(ret == BT_SHARE_ERR_NONE);
+
+       info = bt_share_get_tr_data(db, BT_DB_OUTBOUND, tmp->sid);
+
+       if (info != NULL) {
+               g_free(info->file_path);
+               g_free(info->dev_name);
+               g_free(info->addr);
+               g_free(info->type);
+               g_free(info->content);
+               g_free(info);
+       }
+
+       tr_data_list = bt_share_get_all_tr_data_list(db, BT_DB_OUTBOUND);
+
+       if (tr_data_list == NULL) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_FALSE(tr_data_list == NULL);
+
+       bt_share_release_tr_data_list(tr_data_list);
+       tr_data_list = NULL;
+
+       tr_data_list = bt_share_get_all_tr_data_by_sid(db,
+                                       BT_DB_OUTBOUND, "TEST", "1");
+
+       if (tr_data_list == NULL) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_FALSE(tr_data_list == NULL);
+
+       bt_share_release_tr_data_list(tr_data_list);
+       tr_data_list = NULL;
+
+       tr_data_list = bt_share_get_failed_tr_data_by_sid(db,
+                                       BT_DB_OUTBOUND, "TEST", "1");
+
+       if (tr_data_list == NULL) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_FALSE(tr_data_list == NULL);
+
+       bt_share_release_tr_data_list(tr_data_list);
+       tr_data_list = NULL;
+
+       session_id = bt_share_get_last_session_id(db, BT_DB_OUTBOUND);
+
+       if (session_id == -1) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_FALSE(session_id == -1);
+
+       cnt = bt_share_get_tr_data_count(db, BT_DB_OUTBOUND);
+
+       if (cnt == -1) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_FALSE(cnt == -1);
+
+       ret = bt_share_remove_tr_data_by_id(db, BT_DB_OUTBOUND, 1);
+
+       if (ret != BT_SHARE_ERROR_NONE) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_TRUE(ret == BT_SHARE_ERROR_NONE);
+
+       ret = bt_share_remove_tr_data_non_pending(db, BT_DB_OUTBOUND);
+
+       if (ret != BT_SHARE_ERROR_NONE) {
+               bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+               bt_share_close_db(db);
+               g_free(tmp);
+       }
+
+       ASSERT_TRUE(ret == BT_SHARE_ERROR_NONE);
+
+       bt_share_remove_all_tr_data(db, BT_DB_OUTBOUND);
+       bt_share_close_db(db);
+       g_free(tmp);
+}
+
+
 int main(int argc, char **argv) {
   InitGoogleTest(&argc, argv);