Apply Auto Coverage 71/297871/3
authorJihoon Jung <jh8801.jung@samsung.com>
Mon, 28 Aug 2023 02:35:13 +0000 (11:35 +0900)
committerJihoon Jung <jh8801.jung@samsung.com>
Tue, 29 Aug 2023 05:37:31 +0000 (14:37 +0900)
Change-Id: Ifb32202f8271b0c6799ca79f8b51c276e090432a
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
packaging/capi-network-nfc.spec
src/net_nfc_client_llcp.c [changed mode: 0755->0644]
unittest/CMakeLists.txt
unittest/run_coverage.sh [deleted file]

index 62273eb..1ca099b 100644 (file)
@@ -35,13 +35,29 @@ Requires: %{name} = %{version}-%{release}
 %description devel
 This package contains the development files for %{name}.
 
+%if 0%{?gcov:1}
+%package gcov
+Summary: %{name} gcov data
+
+%description gcov
+gcov objects
+
+%package unittests
+Summary: %{name} unittests binary
+
+%description unittests
+unittests binary
+%endif
+
 %prep
 %setup -q
 
 
 %build
 %if 0%{?gcov:1}
-export LDFLAGS+=" -lgcov"
+export CFLAGS+=" -fprofile-arcs -ftest-coverage"
+export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
+export FFLAGS+=" -fprofile-arcs -ftest-coverage"
 %endif
 
 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
@@ -54,21 +70,51 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
 
 make %{?jobs:-j%jobs}
 
-%if 0%{?gcov:1}
-mkdir -p gcov-obj
-find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
-%endif
-
 %install
 rm -rf %{buildroot}
 
 %make_install
 
+%if 0%{?gcov:1}
+builddir=$(basename $PWD)
+gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
+mkdir -p "$gcno_obj_dir"
+find . -name '*.gcno' -exec cp '{}' "$gcno_obj_dir" ';'
+
+cat << EOF > run-unittest.sh
+#!/bin/bash
+setup() {
+    echo "setup start"
+}
+
+test_main() {
+    echo "test_main start"
+    LD_PRELOAD=/usr/lib/libnfc-mock.so /usr/bin/tct-nfc-core
+}
+
+teardown() {
+    echo "teardown start"
+}
+
+main() {
+    setup
+    test_main
+    teardown
+}
+
+main "$@"
+EOF
+
+mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
+install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}
+%endif
+
 %check
 %if 0%{?gcov:1}
-pushd unittest
-./run_coverage.sh
-popd
+LD_LIBRARY_PATH=. LD_PRELOAD=unittest/libnfc-mock.so unittest/tct-nfc-core
+lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.total.info
+lcov --remove %{name}.total.info -o %{name}.info '*unittest/*'
+genhtml %{name}.info -o out --legend --show-details
 %endif
 
 %post -p /sbin/ldconfig
@@ -86,3 +132,13 @@ popd
 %{_libdir}/pkgconfig/*.pc
 %{_libdir}/libcapi-network-nfc.so
 %{_bindir}/nfc_unit_test
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+
+%files unittests
+%{_libdir}/libnfc-mock.so
+%{_bindir}/tct-nfc-core
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
+%endif
old mode 100755 (executable)
new mode 100644 (file)
index 83eac19..eade767
@@ -31,7 +31,6 @@
 
 #define CHECK_INITIALIZED() \
                do { \
-                       /* LCOV_EXCL_START */ \
                        if (llcp_proxy == NULL) { \
                                if (net_nfc_client_llcp_init() != NET_NFC_OK) { \
                                        DEBUG_ERR_MSG("llcp_proxy fail"); \
@@ -41,7 +40,6 @@
                        \
                        if (net_nfc_client_manager_is_activated() == false) \
                                return NET_NFC_NOT_ACTIVATED; \
-                       /* LCOV_EXCL_STOP */ \
                } while (0)
 
 typedef struct _LlcpFuncData LlcpFuncData;
index 56ad695..aa045bc 100644 (file)
@@ -43,6 +43,7 @@ ADD_LIBRARY(${NFC_MOCK} SHARED ${NFC_MOCK_SRCS})
 SET_TARGET_PROPERTIES(${NFC_MOCK} PROPERTIES
        COMPILE_FLAGS ${NFC_MOCK_CFLAGS}
 )
+INSTALL(TARGETS ${NFC_MOCK} DESTINATION ${LIB_INSTALL_LIB})
 
 ADD_EXECUTABLE(${UNITTEST_NAME} ${UNITTEST_NAME}.cpp ${TC_SOURCES} )
 TARGET_LINK_LIBRARIES(${UNITTEST_NAME}
@@ -53,4 +54,4 @@ TARGET_LINK_LIBRARIES(${UNITTEST_NAME}
     capi-network-nfc
 )
 
-# INSTALL(PROGRAMS ${UNITTEST_NAME} DESTINATION ${BIN_INSTALL_DIR})
+INSTALL(TARGETS ${UNITTEST_NAME} DESTINATION ${BIN_INSTALL_DIR})
diff --git a/unittest/run_coverage.sh b/unittest/run_coverage.sh
deleted file mode 100755 (executable)
index f7471d5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-export LD_LIBRARY_PATH=..:.:$LD_LIBRARY_PATH
-pushd ../
-RootDir=$PWD
-popd
-
-unitTestFile=tct-nfc-core
-if [ ! -x  "./$unitTestFile" ]
-then
-    echo "$unitTestFile file does not exist!"
-    exit -1
-fi
-
-LD_PRELOAD=./libnfc-mock.so ./$unitTestFile
-
-CMakeDir=${RootDir}/CMakeFiles/capi-network-nfc.dir/src
-CoverageDir=${RootDir}/coverage
-
-pushd $CMakeDir
-
-    for obj in `ls *.o`
-    do
-        gcov -b -c $obj
-    done
-
-    if [ -f /usr/bin/lcov ]
-    then
-        lcov -c -d . -o cov.info
-        genhtml cov.info -o ${CoverageDir}
-        echo "Coverage test result created! [${CoverageDir}]"
-    else
-        echo "lcov does not exist!"
-    fi
-popd