Modify gcov installation directory 41/285841/2
authorChanggyu Choi <changyu.choi@samsung.com>
Wed, 21 Dec 2022 06:41:47 +0000 (15:41 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Wed, 21 Dec 2022 06:49:35 +0000 (06:49 +0000)
Change-Id: I32d5cd0987063a255798a8c259bf430a4eb2a743
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
CMakeLists.txt
packaging/libscreen_connector.spec
test/unittest/CMakeLists.txt

index 1534d40e25afe83285f2df2833614d1293d896a5..cf8cecae71b1efdaaf02529a3a8fea7e60939ae2 100644 (file)
@@ -46,7 +46,7 @@ SET(TARGET_SCREEN_CONNECTOR_WATCHER_EVAS
 
 ENABLE_TESTING()
 SET(TARGET_SCREEN_CONNECTOR_UNIT_TESTS
-  "gtest-screen-connector")
+  "libscreen_connector-unittest")
 
 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
   "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
index f8374e9934d44a336d889beef5f6beec17b01e8e..7c04373f8107d832d7c2ed75e76861c968d22994 100644 (file)
@@ -45,6 +45,12 @@ Requires: %{name} = %{version}-%{release}
 %description devel
 Header and package configuration files for the widget viewer development
 
+%package unittests
+Summary:    %{name} unittests binary
+
+%description unittests
+unittests binary
+
 %if 0%{?gcov:1}
 %package gcov
 Summary:  Screen Connector(gcov)
@@ -81,23 +87,47 @@ export LDFLAGS+=" -lgcov"
 export CFLAGS+=" -DEFL_BETA_API_SUPPORT"
 export CXXFLAGS+=" -DEFL_BETA_API_SUPPORT"
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%cmake . -DTZ_SYS_SHARE=/usr/share -DMAJORVER=${MAJORVER} -DFULLVER=%{version}
+%cmake . -DTZ_SYS_SHARE=/usr/share -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DBIN_INSTALL_DIR:PATH=%{_bindir}
 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/%{name}-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
 export LD_LIBRARY_PATH=../../screen_connector_remote_surface:../../screen_connector_input
 ctest -V
@@ -106,12 +136,12 @@ ctest -V
 lcov -c --ignore-errors graph --no-external -q -d . -o screen-connector.info
 genhtml screen-connector.info -o screen-connector.out
 zip -r screen-connector.zip screen-connector.out
-install -m 0644 screen-connector.zip %{buildroot}%{_datadir}/gcov/
+install -m 0644 screen-connector.zip %{buildroot}%{_datadir}/gcov/obj/
 %endif
 
 %if 0%{?gcov:1}
 %files gcov
-%{_datadir}/gcov/*
+%{_datadir}/gcov/obj/*
 %endif
 
 #################################################
@@ -313,18 +343,19 @@ Provider APIs to develop unittests.
 %{_libdir}/pkgconfig/screen_connector_remote_surface_evas_mock.pc
 
 #################################################
-# gtest-screen-connector
+# libscreen_connector-unittest
 #################################################
-%package -n gtest-screen-connector
-Summary:    GTest for screen-connector
+%package    unittest
+Summary:    libscreen-connector unittests
 Group:      Development/Libraries
 Requires:   %{name}_watcher_evas
 
-%description -n gtest-screen-connector
-GTest for screen-connector
+%description unittest
+libscreen-connector unittests
 
-%files -n gtest-screen-connector
-%{_bindir}/gtest-screen-connector
+%files unittest
+%{_bindir}/%{name}-unittest
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
 
 #################################################
 # libscreen_connector_launcher_service
index 6de38f1134c002036a39af089ba151b7cf8c145c..5a9c2d921ccf5ea59ce0fab3169d1b18407f9f7c 100644 (file)
@@ -26,7 +26,7 @@ APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} PUBLIC
   GMOCK_DEPS
 )
 
-INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} DESTINATION bin)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} DESTINATION ${BIN_INSTALL_DIR})
 
 ADD_TEST(NAME ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS}
   COMMAND ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS})