From: DongHun Kwak Date: Thu, 7 Apr 2022 10:09:40 +0000 (+0900) Subject: feat: Apply new gcov feature X-Git-Tag: submit/tizen/20220411.031545^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8b37db9f3a2a7150fa8824d92d8b5b08a3657d6a;p=platform%2Fcore%2Fapi%2Fbase-utils.git feat: Apply new gcov feature - Apply of tree type gcov structure - Create run-unittest.sh - change run-unitest.sh defalut directory Change-Id: Ic309c4c67273a7ab58ff732c4e698788c85511e8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 3289b5e..a681e1b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,4 @@ ENDIF(STDOUT_LOG) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(i18ninfo) -IF(GCOV) - ADD_SUBDIRECTORY(tests) -ENDIF() +ADD_SUBDIRECTORY(tests) diff --git a/packaging/capi-base-utils.spec b/packaging/capi-base-utils.spec index 3ed967d..7febb31 100755 --- a/packaging/capi-base-utils.spec +++ b/packaging/capi-base-utils.spec @@ -10,8 +10,8 @@ BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(capi-base-common) BuildRequires: pkgconfig(dlog) -%if 0%{?gcov:1} BuildRequires: gtest-devel +%if 0%{?gcov:1} BuildRequires: lcov %endif @@ -43,13 +43,18 @@ The base utils library test tool # gcov %if 0%{?gcov:1} %package gcov -Summary: The Base Utils Tool(gcov) -Group: Base +Summary: %{name} gcov data %description gcov Base utils gcov objects %endif +%package unittests +Summary: %{name} unittests binary + +%description unittests +unittests binary + %prep %setup -q @@ -61,25 +66,49 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage" %endif %cmake -DPKG_NAME=%{name} -DPKG_VERSION=%{version} \ - -DGCOV=%{?gcov:1}%{!?gcov:0} \ + -DBIN_INSTALL_DIR:PATH=%{_bindir} \ -DSTDOUT_LOG=%{?stdlog:1}%{!?stdlog:0} 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} -mkdir -p %{buildroot}%{_datadir}/gcov/obj/%{name} -install -m 0644 gcov-obj/* %{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' -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/tct-base-utils-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}/ + %check %if 0%{?gcov:1} tests/tct-base-utils-core @@ -109,3 +138,7 @@ genhtml %{name}.info -o out --legend --show-details %files gcov %{_datadir}/gcov/obj/* %endif + +%files unittests +%{_bindir}/tct-base-utils-core +%{_bindir}/tizen-unittests/%{name}/run-unittest.sh diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 163d049..98868f9 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -29,4 +29,4 @@ TARGET_LINK_LIBRARIES(${UNITTEST_NAME} pthread ) -#INSTALL(PROGRAMS ${UNITTEST_NAME} DESTINATION ${BIN_INSTALL_DIR}) +INSTALL(PROGRAMS ${UNITTEST_NAME} DESTINATION ${BIN_INSTALL_DIR})