From 30095fccc2942464c32d4970eee3b5b0f151805b Mon Sep 17 00:00:00 2001 From: Dewal Agarwal Date: Mon, 18 Nov 2019 16:17:50 +0530 Subject: [PATCH] Adding: Tizen Coverage Automation Change-Id: I40b27b94f2b5002850aacec2e6df278857d54d14 Signed-off-by: Dewal Agarwal --- packaging/libaccount-service.spec | 48 +++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/packaging/libaccount-service.spec b/packaging/libaccount-service.spec index 931cdf5..0fe386e 100644 --- a/packaging/libaccount-service.spec +++ b/packaging/libaccount-service.spec @@ -17,6 +17,10 @@ BuildRequires: pkgconfig(account-common) BuildRequires: pkgconfig(db-util) BuildRequires: pkgconfig(pkgmgr-installer) +%if 0%{?gcov:1} +BuildRequires: lcov +%endif + %description Account DB libraryXB-Public-Package: no @@ -27,16 +31,28 @@ Requires: %{name} = %{version}-%{release} %description devel Development files for %{name} +################################################# +# gcov +################################################# +%if 0%{?gcov:1} +%package gcov +Summary: Account library (gcov) +Group: Service Framework/Testing +%description gcov +gcov objects for coverage test +%endif + %prep %setup -q -%post -/sbin/ldconfig -/usr/bin/sqlite3 - -%postun -p /sbin/ldconfig - %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+=" -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wswitch-default" #export CXXFLAGS+=" -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wswitch-default -Wnon-virtual-dtor -Wno-c++0x-compat" #export CFLAGS+=" -Wno-unused-parameter -Wno-empty-body" @@ -53,16 +69,31 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DINCLUDEDIR=%{_includedir} 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 +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants rm -rf %{buildroot}%{_libdir}/accounts-svc +%post +/sbin/ldconfig +/usr/bin/sqlite3 + +%postun -p /sbin/ldconfig + %files %manifest libaccount-service.manifest %defattr(-,root,root,-) @@ -75,3 +106,8 @@ rm -rf %{buildroot}%{_libdir}/accounts-svc %{_libdir}/*.so %{_libdir}/pkgconfig/accounts-svc.pc %{_includedir}/*.h + +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/obj/* +%endif -- 2.34.1