Add the coverage measurement for resource manager 77/232577/4
authorYoungHun Kim <yh8004.kim@samsung.com>
Wed, 6 May 2020 11:23:36 +0000 (20:23 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Fri, 8 May 2020 05:18:50 +0000 (14:18 +0900)
Change-Id: Ic6df876631f9dddb1d344dcbc8eff0289f307708

packaging/mm-resource-manager.spec
src/daemon/mm_resource_manager_daemon.c
src/daemon/mm_resource_manager_daemon_priv.c
src/daemon/mm_resource_manager_daemon_priv.h

index e9aaf58..b79a3f8 100644 (file)
@@ -41,6 +41,12 @@ cp %{SOURCE1001} .
 flags="$flags -DTIZEN_DEBUG_ENABLE"
 %endif
 
+%if 0%{?gcov:1}
+export CFLAGS+=" -fprofile-arcs -ftest-coverage -DRM_GCOV_TEST "
+export CXXFLAGS+=" -fprofile-arcs -ftest-coverage "
+export LDFLAGS+=" -lgcov "
+%endif
+
 flags="$flags -DMM_RM_MURPHY_BACKEND"
 
 export CFLAGS="$CFLAGS $flags"
index 8153e07..94143e6 100644 (file)
@@ -230,6 +230,10 @@ int main(int argc, char *argv[])
                MM_RM_RETVM_IF(!set_signal_handlers(), EXIT_FAILURE,
                                "Daemon cannot set signal handlers");
 
+#ifdef RM_GCOV_TEST
+               setenv("GCOV_PREFIX", "/tmp", 1);
+#endif
+
                daemon_loop();
 
                MM_RM_RETVM_IF(!remove_daemon_setup_file(), EXIT_FAILURE,
index fbd11bf..71298d9 100644 (file)
@@ -19,6 +19,9 @@
 #include <sys/stat.h>
 #include <poll.h>
 #include <inttypes.h>
+#ifdef RM_GCOV_TEST
+#include <gcov.h>
+#endif
 
 #include "daemon/mm_resource_manager_daemon_priv.h"
 #include "daemon/mm_resource_manager_daemon_conf.h"
@@ -68,7 +71,6 @@ typedef struct {
 static GPtrArray *managers;
 static int res_count[MM_RESOURCE_MANAGER_RES_TYPE_MAX];
 
-
 static void __destroy_resource(mm_resource_manager_dmn_res_p res);
 static void __destroy_manager(void *m);
 static int __search_manager_index(mm_resource_manager_id id);
@@ -203,6 +205,10 @@ mm_resource_manager_error_e _mmrm_dmn_destroy(mm_resource_manager_id id)
 
        MM_RM_INFO("managers length #%d type %d available volume %d", managers->len, type, conf->max_volume[type]);
 
+#ifdef RM_GCOV_TEST
+       __gcov_flush();
+#endif
+
        return MM_RESOURCE_MANAGER_ERROR_NONE;
 }
 
index 25d59bb..9a30347 100644 (file)
@@ -21,6 +21,7 @@
 #include <fcntl.h>
 #include "common/mm_resource_manager_utils.h"
 
+
 #define MSG_DONE "DONE"
 #define PID_FILE "/tmp/.mm-res-mgr.pid"
 #define PID_MSG_LEN (16)