Apply new gcov policy 40/275240/1
authorInHong Han <inhong1.han@samsung.com>
Thu, 19 May 2022 02:23:59 +0000 (11:23 +0900)
committerInHong Han <inhong1.han@samsung.com>
Thu, 19 May 2022 02:24:20 +0000 (11:24 +0900)
- Apply of tree type gcov structure
- Create run-unittest.sh
- Change the unittest path and name

Change-Id: I9c0dca30b5b5ddd5fab9ec806a0f024be82d5bf1

CMakeLists.txt
packaging/capi-ui-inputmethod-manager.spec
tests/CMakeLists.txt

index 129b5e8..48e21e1 100644 (file)
@@ -138,7 +138,7 @@ ENDIF(UNIX)
 ## Test
 IF(NOT DEFINED MINIMUM_BUILD)
 ENABLE_TESTING()
-SET(UNITTEST_INPUTMETHOD_MANAGER capi-ui-inputmethod-manager_gtest)
+SET(UNITTEST_INPUTMETHOD_MANAGER capi-ui-inputmethod-manager_unittest)
 ADD_TEST(NAME ${UNITTEST_INPUTMETHOD_MANAGER} COMMAND ${UNITTEST_INPUTMETHOD_MANAGER}
                         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests)
 
index 99328a5..03340e9 100644 (file)
@@ -70,20 +70,44 @@ 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
-
 %install
 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/capi-ui-inputmethod-manager_unittest
+}
+
+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}
+
 %check
 %if 0%{?gcov:1}
 ctest -V --output-on-failure %{?_smp_mflags}
@@ -114,4 +138,5 @@ install -m 0644 %{name}.zip %{buildroot}%{_datadir}/gcov/
 %endif
 
 %files unittests
-%{_libdir}/%{name}/unittest/*
+%{_bindir}/*
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
index 08927d2..a1d3dfe 100644 (file)
@@ -49,4 +49,4 @@ SET_TARGET_PROPERTIES(${UNITTEST_INPUTMETHOD_MANAGER} PROPERTIES
 --wrap=isf_control_get_all_ime_info,\
 --wrap=isf_control_get_active_ime,\
 --wrap=isf_control_prelaunch_ise")
-INSTALL(TARGETS ${UNITTEST_INPUTMETHOD_MANAGER} DESTINATION ${LIBDIR}/capi-ui-inputmethod-manager/unittest)
+INSTALL(TARGETS ${UNITTEST_INPUTMETHOD_MANAGER} DESTINATION /usr/bin)