From: Hwankyu Jhun Date: Wed, 25 May 2022 22:52:32 +0000 (+0900) Subject: Fix spec file for coverage measurement X-Git-Tag: submit/tizen/20220526.014753~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=16d81f74faeb7b5245f1744e4e401b91c3460e76;p=platform%2Fcore%2Fapi%2Fpreference.git Fix spec file for coverage measurement To measure code coverages automatically, a run-unittest.sh is needed. Change-Id: Ia9f2e0fa7cb20cf5bde0b4fd44c383f495304872 Signed-off-by: Hwankyu Jhun --- diff --git a/packaging/capi-appfw-preference.spec b/packaging/capi-appfw-preference.spec index e6e8afb..4c5826c 100644 --- a/packaging/capi-appfw-preference.spec +++ b/packaging/capi-appfw-preference.spec @@ -15,9 +15,9 @@ BuildRequires: pkgconfig(capi-appfw-app-common) BuildRequires: pkgconfig(capi-base-common) BuildRequires: pkgconfig(libtzplatform-config) BuildRequires: pkgconfig(pkgmgr-info) + %if 0%{?gcov:1} BuildRequires: lcov -BuildRequires: zip %endif %description @@ -40,6 +40,12 @@ Group: System/API gcov objects of an application preference library %endif +%package unittests +Summary: %{name} unittests binary + +%description unittests +unittests binary + %prep %setup -q cp %{SOURCE1001} . @@ -56,28 +62,50 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` %cmake . -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} -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/preference-unit-tests +} + +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 LD_LIBRARY_PATH=../preference ctest -V + %if 0%{?gcov:1} -cd preference -lcov -c --ignore-errors graph --no-external -d . -o preference.info -genhtml preference.info -o preference.out -zip -r preference.zip preference.out -install -m 0644 preference.zip %{buildroot}%{_datadir}/gcov/ +lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info +genhtml %{name}.info -o out --legend --show-details %endif %post -p /sbin/ldconfig @@ -99,5 +127,9 @@ install -m 0644 preference.zip %{buildroot}%{_datadir}/gcov/ %if 0%{?gcov:1} %files gcov -%{_datadir}/gcov/* +%{_datadir}/gcov/obj/* %endif + +%files unittests +%attr(755,root,root) %{_bindir}/preference-unit-tests +%attr(755,root,root) %{_bindir}/tizen-unittests/%{name}/run-unittest.sh