From: Inkyun Kil Date: Thu, 15 Dec 2022 02:19:10 +0000 (+0900) Subject: Adds gcov option for checking coverage X-Git-Tag: accepted/tizen/unified/20230214.171539~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=be9ce63981db113fce5b1a3d134927ba7b51f59b;p=platform%2Fcore%2Fappfw%2Fevent-system.git Adds gcov option for checking coverage Change-Id: Ie33e6d8187c698020185ba29f06cb2c61cda4256 Signed-off-by: Inkyun Kil --- diff --git a/packaging/esd.spec b/packaging/esd.spec index 5d97f31..739c8f6 100644 --- a/packaging/esd.spec +++ b/packaging/esd.spec @@ -33,6 +33,10 @@ BuildRequires: pkgconfig(capi-system-info) BuildRequires: pkgconfig(tizen-database) BuildRequires: pkgconfig(gmock) +%if 0%{?gcov:1} +BuildRequires: lcov +%endif + Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -74,11 +78,27 @@ Requires: %{name} %description -n %{name}-unittests GTest for API +%if 0%{?gcov:1} +%package gcov +Summary: Event system daemon(gcov) +Group: Application Framework/Service + +%description gcov +gcov objects of a Event System +%endif + %prep %setup -q cp %{SOURCE1001} . %build +%if 0%{?gcov:1} +export CFLAGS+=" -fprofile-arcs -ftest-coverage" +export CXXFLAGS+=" -fprofile-arcs -ftest-coverage" +export FFLAGS+=" -fprofile-arcs -ftest-coverage" +export LDFLAGS+=" -lgcov" +%endif + export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE" export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE" export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE" @@ -95,6 +115,11 @@ make %{?jobs:-j%jobs} %check ctest -V +%if 0%{?gcov:1} +lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info +genhtml %{name}.info -o out --legend --show-details +%endif + %install rm -rf %{buildroot} %make_install @@ -130,6 +155,13 @@ mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/esd.service ln -sf ../esd.service %{buildroot}%{_unitdir}/multi-user.target.wants/esd.service +%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 --parents '{}' "$gcno_obj_dir" ';' +%endif + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -166,3 +198,8 @@ ln -sf ../esd.service %{buildroot}%{_unitdir}/multi-user.target.wants/esd.servic %files -n %{name}-unittests %{_bindir}/esd-*-unittests %{_bindir}/tizen-unittests/%{name}/run-unittest.sh + +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/* +%endif \ No newline at end of file