Make gcov package 43/208743/1 accepted/tizen/unified/20190708.052536 submit/tizen/20190705.014352
authorKichan Kwon <k_c.kwon@samsung.com>
Fri, 28 Jun 2019 01:01:21 +0000 (10:01 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Fri, 28 Jun 2019 01:01:21 +0000 (10:01 +0900)
- To make, use "gcov" build option

Change-Id: Ic6cf306d62d48f187c97c8c327059755ff4c2d31
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
CMakeLists.txt
packaging/capi-system-info.spec

index 17340cf..0914c69 100644 (file)
@@ -20,6 +20,9 @@ FOREACH(flag ${${fw_name}_CFLAGS})
 ENDFOREACH(flag)
 
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
+IF("${GCOV}" STREQUAL "1")
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
+ENDIF()
 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 
 IF("${ARCH}" STREQUAL "arm")
index d470a4b..d20c21f 100644 (file)
@@ -35,6 +35,14 @@ Requires: %{name}
 %description test
 A System Information library test tool
 
+%if 0%{?gcov:1}
+%package gcov
+Summary:  A System Information gcov test file
+%description gcov
+gcno files for System-info line coverage test
+%endif
+
+
 %prep
 %setup -q
 cp %{SOURCE1001} .
@@ -57,10 +65,17 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
             -DFULLVER=%{version} \
             -DTIZEN_ID_PATH=%{tizen_id_path} \
             -DDB_RO_PATH=%{db_ro_path} \
-            -DDB_RW_PATH=%{db_rw_path}
+            -DDB_RW_PATH=%{db_rw_path} \
+                -DGCOV=%{?gcov:1}%{!?gcov:0}
 
 %__make %{?_smp_mflags}
 
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+%endif
+
+
 %install
 %make_install
 mkdir -p %{buildroot}/etc
@@ -71,6 +86,12 @@ cp -f script/make_info_file.sh %{buildroot}/etc/make_info_file.sh
 mkdir -p %{buildroot}/%{sysinfo_shared_path}
 mkdir -p %{buildroot}/%{model_config_rw_dir}
 
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
+
 %posttrans
 /usr/bin/chsmack -a "System::Shared" -t %{sysinfo_shared_path}
 /usr/bin/chsmack -a "System::Shared" -t %{model_config_rw_dir}
@@ -104,3 +125,8 @@ mkdir -p %{buildroot}/%{model_config_rw_dir}
 
 %files test
 %{_bindir}/system_info_test
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif