From: Hwankyu Jhun Date: Wed, 25 May 2022 23:51:22 +0000 (+0900) Subject: Fix spec file for coverage measurement X-Git-Tag: submit/tizen/20220526.014753~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6bf6409fa2801df7e4d28f3c9b58a1a00c726bab;p=platform%2Fcore%2Fapi%2Fapp-event.git Fix spec file for coverage measurement To measure code coverages automatically, a run-unittest.sh is needed. The unittests rpm name is changed to 'capi-appfw-app-event-unittests'. Change-Id: I1ebb6a4377c3817e21b12fb44c186cbef0cdf95e Signed-off-by: Hwankyu Jhun --- diff --git a/packaging/capi-appfw-event.spec b/packaging/capi-appfw-event.spec index b3a2a31..59a5cfb 100644 --- a/packaging/capi-appfw-event.spec +++ b/packaging/capi-appfw-event.spec @@ -56,18 +56,12 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} %__make %{?jobs:-j%jobs} -%if 0%{?gcov:1} -mkdir -p gcov-obj -find . -name '*.gcno' -exec cp '{}' gcov-obj ';' -%endif - %check ctest -V + %if 0%{?gcov:1} -lcov -c --ignore-errors graph --no-external -q -d . -o app_event.info -genhtml app_event.info -o app_event.out -zip -r app_event.zip app_event.out app_event.info -install -m 0644 app_event.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 %install @@ -75,25 +69,55 @@ rm -rf %{buildroot} %make_install %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 +cat << EOF > run-unittest.sh +#!/bin/sh +setup() { + echo "setup start" +} + +test_main() { + echo "test_main start" + /usr/bin/app_event_unittests +} + +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 -p /sbin/ldconfig %postun -p /sbin/ldconfig ################################################ # app_event_unittests ################################################ -%package -n app_event_unittests +%package unittests Summary: GTest for app_event Group: Development/Libraries -%description -n app_event_unittests +%description unittests GTest for app_event -%files -n app_event_unittests +%files unittests %{_bindir}/app_event_unittests +%{_bindir}/tizen-unittests/%{name}/run-unittest.sh %files %manifest %{name}.manifest diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1aa1814..3c7dfb3 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -40,4 +40,4 @@ TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${app_event_unittests_LDFLAGS} capi-appfw-event ) -INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/) +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)