Fix unittest for line coverage automation 86/276186/1
authorSuyeon Hwang <stom.hwang@samsung.com>
Fri, 10 Jun 2022 10:20:26 +0000 (19:20 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Fri, 10 Jun 2022 10:20:26 +0000 (19:20 +0900)
Change-Id: I81ba58b22167ee07f155fc0fc0c468a4095b1989
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
packaging/voice-control.spec
tests/CMakeLists.txt
tests/src/main.cpp
tests/src/vc_denied_unittests.cpp [deleted file]

index 519e74128acb0d69955e5445b260e17bcfd717f7..e05edb8f82d5518b035a8b84b62ff0efd8c3fd73 100644 (file)
@@ -114,8 +114,8 @@ cp %{SOURCE1001} %{SOURCE1002} .
 
 %build
 %if 0%{?gcov:1}
-export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
-export CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage"
+export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
+export CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
 export FFLAGS="$FFLAGS -fprofile-arcs -ftest-coverage"
 export LDFLAGS="$LDFLAGS -lgcov"
 %endif
@@ -146,6 +146,36 @@ 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"
+    touch /opt/share/askuser_disable
+    mount -o remount,rw /
+    tpk-backend --preload -y org.tizen.vc-unittests
+}
+
+test_main() {
+    echo "test_main start"
+    launch_app org.tizen.vc-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
 /sbin/ldconfig
 
@@ -223,3 +253,4 @@ mkdir -p %{_libdir}/voice/vc
 %defattr(-,root,root,-)
 %{TZ_SYS_RO_PACKAGES}/org.tizen.vc-unittests.xml
 %{TZ_SYS_RO_APP}/org.tizen.vc-unittests/bin/vc-unittests
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
index ec00560a0c60e88ffc5d21711d5b17d2306be38a..ac6ae4153681fe412cc1779778c940972a84c386 100644 (file)
@@ -21,16 +21,15 @@ SET(SOURCES "")
 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include)
 
 AUX_SOURCE_DIRECTORY(src SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../client VC_CLIENT_SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../common VC_COMMON_SOURCES)
 
 ADD_DEFINITIONS("-DFULLVER=\"${FULLVER}\"")
 
 ADD_EXECUTABLE(${UNITTEST_VC}
-       ${VC_COMMON_SOURCES}
-       ${VC_CLIENT_SOURCES}
        ${SOURCES}
        )
+
+TARGET_LINK_LIBRARIES(${UNITTEST_VC} vc -ldl ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(${UNITTEST_VC} vc_manager -ldl ${pkgs_LDFLAGS})
 TARGET_LINK_LIBRARIES(${UNITTEST_VC} ${GTEST_LIBRARIES} ${pkgs_LDFLAGS} ${EXTRA_LDFLAGS})
 SET_TARGET_PROPERTIES(${UNITTEST_VC} PROPERTIES
        COMPILE_FLAGS "-fPIE"
index a37d67159460949fac524bca53cff7aa536d3c6b..450edeafb9a591a294929fd94810e9d443df82b8 100644 (file)
@@ -1,7 +1,22 @@
 #include <gtest/gtest.h>
 #include <gmock/gmock.h>
 
+
+#ifdef TIZEN_TEST_GCOV
+extern "C" void __gcov_flush(void);
+#endif
+
 int main(int argc, char** argv) {
+#ifdef TIZEN_TEST_GCOV
+    setenv("GCOV_PREFIX", "/tmp", 1);
+#endif
+
     testing::InitGoogleTest(&argc, argv);
-    return RUN_ALL_TESTS();
+    auto testResults = RUN_ALL_TESTS();
+
+#ifdef TIZEN_TEST_GCOV
+    __gcov_flush();
+#endif
+
+    return testResults;
 }
diff --git a/tests/src/vc_denied_unittests.cpp b/tests/src/vc_denied_unittests.cpp
deleted file mode 100644 (file)
index c133af6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <gtest/gtest.h>
-#include <voice_control.h>
-
-#include "cynara_mock.h"
-#include "system_info_mock.h"
-
-namespace {
-
-class VCDeniedTest : public testing::Test {
-    public:
-        virtual void SetUp() {
-            /* start of TC */
-            cynara_check_set_result(CYNARA_API_ACCESS_DENIED);
-        }
-        virtual void TearDown() {
-            /* end of TC */
-            cynara_check_set_result(CYNARA_API_ACCESS_ALLOWED);
-        }
-};
-
-TEST_F(VCDeniedTest, utc_stt_create_denied)
-{
-    int ret = VC_ERROR_NONE;
-
-    ret = vc_initialize();
-    EXPECT_EQ(ret, VC_ERROR_PERMISSION_DENIED);
-}
-
-} // namespace