From d3d137bc04c1a968fffa99dd1706f5078bc0f01c Mon Sep 17 00:00:00 2001 From: hyeonseok lee Date: Wed, 26 Jan 2022 18:25:33 +0900 Subject: [PATCH] [spec] Add gcov package - Added gcov package for automatic line coverage Signed-off-by: hyeonseok lee --- packaging/nntrainer.spec | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/packaging/nntrainer.spec b/packaging/nntrainer.spec index 108b3ce..4bd7d48 100644 --- a/packaging/nntrainer.spec +++ b/packaging/nntrainer.spec @@ -181,6 +181,16 @@ BuildRequires: gstreamer-devel %description applications NNTrainer Examples for test purpose. +# gcov +%if 0%{?gcov:1} +%package gcov +Summary: NNTrainer gcov +Group: Machine Learning/ML Framework + +%description gcov +NNTrainer gcov object +%endif + %if 0%{?testcoverage} %package unittest-coverage Summary: NNTrainer UnitTest Coverage Analysis Result @@ -336,9 +346,9 @@ cp %{SOURCE1002} . %build CXXFLAGS=`echo $CXXFLAGS | sed -e "s|-std=gnu++11||"` -%if 0%{?testcoverage} -CXXFLAGS="${CXXFLAGS} -fprofile-arcs -ftest-coverage" -CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage" +%if 0%{?testcoverage} || 0%{?gcov:1} +export CFLAGS+=" -fprofile-arcs -ftest-coverage" +export CXXFLAGS+=" -fprofile-arcs -ftest-coverage" %endif # Add backward competibility for tizen < 6 @@ -373,9 +383,19 @@ popd %endif #nnstreamer_filter %endif #unit_test +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . -name '*.gcno' -exec cp '{}' gcov-obj ';' +%endif + %install DESTDIR=%{buildroot} ninja -C build %{?_smp_mflags} install +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj/%{name} +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj/%{name} +%endif + %if 0%{?testcoverage} ## # The included directories are: @@ -533,6 +553,11 @@ cp -r result %{buildroot}%{_datadir}/nntrainer/unittest/ %license LICENSE %{_libdir}/nntrainer/bin/applications/* +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/obj/* +%endif + %if 0%{?testcoverage} %files unittest-coverage %{_datadir}/nntrainer/unittest/* -- 2.7.4