From 25b245c4b0b0f750b29be729892594583b79e949 Mon Sep 17 00:00:00 2001 From: Sunghyun kim Date: Mon, 2 Dec 2019 17:10:16 +0900 Subject: [PATCH] add gcov for Coverage test Change-Id: Ib2cf0ef8fefc0c65add61016d8cffb88fffa8f24 --- packaging/widget-viewer-dali.spec | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/packaging/widget-viewer-dali.spec b/packaging/widget-viewer-dali.spec index 5758936..121b303 100644 --- a/packaging/widget-viewer-dali.spec +++ b/packaging/widget-viewer-dali.spec @@ -22,6 +22,10 @@ BuildRequires: pkgconfig(dali-toolkit) BuildRequires: pkgconfig(cynara-client) BuildRequires: pkgconfig(wayland-tbm-client) BuildRequires: pkgconfig(screen_connector_watcher) +%if 0%{?gcov:1} +BuildRequires: lcov +BuildRequires: zip +%endif %if 0%{?tizen_version_major} >= 5 BuildRequires: pkgconfig(ecore-wl2) @@ -43,6 +47,23 @@ Requires: %{name} = %{version}-%{release} %description devel Header and package configuration files for the widget viewer development +################################################# +# widget-viewer-gcov +################################################# +%if 0%{?gcov:1} +%package gcov +Summary: Simple string key-val dictionary ADT (gcov) +Group: Application Framework/Testing + +%description gcov +Simple string key-val dictionary ADT gcov objects +%endif + +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/* +%endif + ############################## # Preparation ############################## @@ -53,6 +74,13 @@ Header and package configuration files for the widget viewer development # Build ############################## %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 + PREFIX="/usr" CXXFLAGS+=" -Wall -g -O2 -fPIE -Wl,-z,relro,-z,now -fstack-protector-strong -D_FORTIFY_SOURCE=2" LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -pie -Wl,-z,relro,-z,now" @@ -81,6 +109,21 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` make %{?jobs:-j%jobs} +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . -name '*.gcno' -exec cp '{}' gcov-obj ';' +%endif + +%check +ctest --output-on-failure %{?_smp_mflags} +%if 0%{?gcov:1} +lcov -c --ignore-errors graph --no-external -q -d . -o widget-viewer-dali.info +genhtml widget-viewer-dali.info -o widget-viewer-dali.out +zip -r widget-viewer-dali.zip widget-viewer-dali.out widget-viewer-dali.info +install -m 0644 widget-viewer-dali.zip %{buildroot}%{_datadir}/gcov/ +%endif + + ############################## # Installation ############################## @@ -90,6 +133,11 @@ rm -rf %{buildroot} pushd build/tizen %make_install +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + ############################## # Post Install ############################## -- 2.34.1