Apply gcov automation 64/276064/1 accepted/tizen/unified/20220614.134721 submit/tizen/20220610.003743
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 9 Jun 2022 06:02:33 +0000 (15:02 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 9 Jun 2022 06:02:33 +0000 (15:02 +0900)
Change-Id: I3aa386b20275117d025bc0b4c3bdf62e575780d4

CMakeLists.txt
packaging/capi-network-wifi-manager.spec
tests/CMakeLists.txt

index 9d2c860a71dbefa656f251a08379d389a3fb8bd8..f4fe1b60f2fdec825e7d8c61ae8d19aaa19f00e2 100644 (file)
@@ -28,7 +28,4 @@ INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 ADD_SUBDIRECTORY(tools/manager-tool)
 ADD_SUBDIRECTORY(tools/manager-test)
 ADD_SUBDIRECTORY(tools/connection-tool)
-
-IF(BUILD_GTESTS)
-    ADD_SUBDIRECTORY(tests)
-ENDIF(BUILD_GTESTS)
+ADD_SUBDIRECTORY(tests)
index c81601feccd5b08562e5a032785796c7fa0c96de..b2f75fefad3f0cacedc93247d65f136761f9273b 100644 (file)
@@ -43,6 +43,7 @@ Test Application for Wi-Fi Manager
 Summary: Coverage Data of %{name}
 Group: Network & Connectivity/Testing
 BuildRequires:  pkgconfig(gmock)
+BuildRequires:  gtest-devel
 BuildRequires:  lcov
 BuildRequires:  tar
 
@@ -50,6 +51,12 @@ BuildRequires:  tar
 The %{name}-gcov pacakge contains gcov objects
 %endif
 
+%package unittests
+Summary: %{name} unittests binary
+
+%description unittests
+unittests binary
+
 %prep
 %setup -q
 cp %{SOURCE1001} ./
@@ -59,14 +66,12 @@ cp %{SOURCE1001} ./
 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
-export LDFLAGS+=" -lgcov"
 %endif
 
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
        -DCMAKE_VERBOSE_MAKEFILE=OFF \
-       -DBIN_INSTALL_DIR:PATH=%{_bindir} \
-       -DBUILD_GTESTS=%{?gcov:1}%{!?gcov:0}
+       -DBIN_INSTALL_DIR:PATH=%{_bindir}
 
 make %{?_smp_mflags}
 
@@ -74,11 +79,42 @@ make %{?_smp_mflags}
 %make_install
 
 %if 0%{?gcov:1}
-find .. -name '*.gcno' | grep -v src | tar cf %{name}-gcov.tar -T -
-install -d -m 755 %{buildroot}%{_datadir}/gcov/obj/%{name}
-tar xf %{name}-gcov.tar -C %{buildroot}%{_datadir}/gcov/obj/%{name}
+builddir=$(basename $PWD)
+gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
+mkdir -p "$gcno_obj_dir"
+find . -name '*.gcno' ! -path '*/tools/*' -exec cp --parents '{}' "$gcno_obj_dir" ';'
+%endif
+
+cat << EOF > run-unittest.sh
+#!/bin/sh
+setup() {
+    echo "setup start"
+}
+
+test_main() {
+    echo "test_main start"
+    /usr/bin/gtest-wifi-manager
+}
+
+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}/
+
 
 %check
+%if 0%{?gcov:1}
 tests/gtest-wifi-manager
 # Calculating linecoverage only for library source code
 find . -name "*.gcno" | grep -v src | xargs rm -f
@@ -110,5 +146,9 @@ genhtml %{name}.info -o out --legend --show-details
 
 %if 0%{?gcov:1}
 %files gcov
-%{_datadir}/gcov/obj/%{name}/*
+%{_datadir}/gcov/obj/*
 %endif
+%files unittests
+%{_bindir}/gtest-wifi-manager
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
index 8527989ca013cb9e2b2247debf65242748ffe2fd..4f1ce646eb9b3d180f3d2b4dcadd442ac962497d 100644 (file)
@@ -24,3 +24,5 @@ SET_TARGET_PROPERTIES(${GTEST} PROPERTIES COMPILE_FLAGS "-fPIE" LINK_FLAGS "-Wl,
 --wrap=vconf_get_int,\
 --wrap=vconf_get_bool,\
 --wrap=vconf_get_str")
+
+INSTALL(TARGETS ${GTEST} DESTINATION bin/)