From a4135d9ded8835bf23c367f36854a03a2996f68c Mon Sep 17 00:00:00 2001 From: jusung Date: Tue, 31 May 2022 13:41:41 +0900 Subject: [PATCH] Fix spec file for coverage measurement To measure code coverages automatically, a run-unittest.sh is needed. Change-Id: If641757a70d356c5577626076e7632dfdcabeb75 Signed-off-by: jusung --- packaging/buxton2.spec | 56 ++++++++++++++++++++++++++++++++---------- test/unit_tests/CMakeLists.txt | 3 +++ 2 files changed, 46 insertions(+), 13 deletions(-) diff --git a/packaging/buxton2.spec b/packaging/buxton2.spec index c3779db..3c234ba 100644 --- a/packaging/buxton2.spec +++ b/packaging/buxton2.spec @@ -36,7 +36,6 @@ Provides: buxton %if 0%{?gcov:1} BuildRequires: lcov -BuildRequires: zip %endif %description @@ -109,6 +108,11 @@ Group: Application Framework/API gcov objects for a buxton2 library %endif +%package unittests +Summary: %{name} unittests binary + +%description unittests +unittests binary %prep %setup -q @@ -139,12 +143,6 @@ export LDFLAGS+=" -lgcov" %__make %{?_smp_mflags} -%if 0%{?gcov:1} -mkdir -p gcov-obj -find . -name '*.gcno' -exec cp '{}' gcov-obj ';' -%endif - - %install %make_install @@ -174,8 +172,10 @@ mkdir -p %{buildroot}%{upgrade_script_path} cp -f scripts/290.buxton2_upgrade.sh %{buildroot}%{upgrade_script_path} %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 %check @@ -183,12 +183,37 @@ export LD_LIBRARY_PATH=../../vconf-compat:../../lib ctest -V %if 0%{?gcov:1} -lcov -c --ignore-errors graph --no-external -q -d . -o buxton2.info -genhtml buxton2.info -o buxton2.out -zip -r buxton2.zip buxton2.out -install -m 0644 buxton2.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 +cat << EOF > run-unittest.sh +#!/bin/sh +setup() { + echo "setup start" +} + +test_main() { + echo "test_main start" + /usr/bin/buxton2-unit-test +} + +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}/ + %post /sbin/ldconfig @@ -261,6 +286,11 @@ chsmack -a System %{dbdir}/* %{_libdir}/libvconf.so %{_libdir}/pkgconfig/vconf.pc +%files unittests +%attr(0755,root,root) %{_bindir}/buxton2-unit-test +%attr(0755,root,root) %{_bindir}/tizen-unittests/%{name}/run-unittest.sh + + %if 0%{?gcov:1} %files gcov %{_datadir}/gcov/* diff --git a/test/unit_tests/CMakeLists.txt b/test/unit_tests/CMakeLists.txt index 15c710d..d56a103 100644 --- a/test/unit_tests/CMakeLists.txt +++ b/test/unit_tests/CMakeLists.txt @@ -25,3 +25,6 @@ ADD_TEST( NAME ${TARGET_BUXTON2_UNIT_TEST} COMMAND ${TARGET_BUXTON2_UNIT_TEST} ) + +INSTALL(TARGETS ${TARGET_BUXTON2_UNIT_TEST} DESTINATION bin) + -- 2.7.4