Refine directory structure, CMakeLists.txt for unit test
authorSangyoon Jang <jeremy.jang@samsung.com>
Fri, 10 Apr 2020 05:28:46 +0000 (14:28 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 25 May 2020 04:28:15 +0000 (13:28 +0900)
Change-Id: I9bf17dc0b7d81f26ac43c49c03b65104ce39bd55
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
CMakeLists.txt
packaging/tizen-theme-manager.spec
src/CMakeLists.txt
src/theme/CMakeLists.txt
src/theme_provider/CMakeLists.txt
src/unit_tests/CMakeLists.txt [new file with mode: 0644]
src/unit_tests/main.cc [new file with mode: 0644]
unittest/CMakeLists.txt [deleted file]
unittest/main.cc [deleted file]

index dcc5276..a3cf696 100644 (file)
@@ -19,6 +19,9 @@ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Mo
 SET(TARGET_TIZEN_THEME_PROVIDER "tizen-theme-provider")
 SET(TARGET_TIZEN_THEME "tizen-theme")
 
+ENABLE_TESTING()
+SET(TARGET_TIZEN_THEME_UNIT_TEST "tizen-theme-unit-test")
+
 INCLUDE(FindPkgConfig)
 INCLUDE(ApplyPkgConfig)
 
@@ -27,12 +30,7 @@ ADD_DEFINITIONS("-DPROJECT_TAG=\"TIZEN_THEME_MANAGER\"")
 ## Find all needed packages once
 PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle)
 PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
+PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
 PKG_CHECK_MODULES(SQLITE_DEPS REQUIRED sqlite3)
 
 ADD_SUBDIRECTORY(src)
-ADD_SUBDIRECTORY(unittest)
-
-ENABLE_TESTING()
-SET(TTM_UNIT_TESTS tizen-theme_unittests)
-ADD_TEST(NAME ${TTM_UNIT_TESTS} COMMAND ${TTM_UNIT_TESTS}
-        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest)
\ No newline at end of file
index 0d3dbf6..6837bf5 100644 (file)
@@ -9,8 +9,8 @@ Source1001: %{name}.manifest
 BuildRequires:  cmake
 BuildRequires:  pkgconfig(bundle)
 BuildRequires:  pkgconfig(dlog)
-BuildRequires:  pkgconfig(sqlite3)
 BuildRequires:  pkgconfig(gmock)
+BuildRequires:  pkgconfig(sqlite3)
 
 %if 0%{?gcov:1}
 BuildRequires:  lcov
index 92a179d..6df6715 100644 (file)
@@ -1,2 +1,3 @@
 ADD_SUBDIRECTORY(theme)
 ADD_SUBDIRECTORY(theme_provider)
+ADD_SUBDIRECTORY(unit_tests)
index f8525a7..ceccf12 100644 (file)
@@ -1,9 +1,8 @@
 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/utils THEME_UTILS_SRCS)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
 ADD_LIBRARY(${TARGET_TIZEN_THEME} SHARED
   ${THEME_UTILS_SRCS}
 )
+TARGET_INCLUDE_DIRECTORIES(${TARGET_TIZEN_THEME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../")
 
 APPLY_PKG_CONFIG(${TARGET_TIZEN_THEME} PUBLIC
   DLOG_DEPS
index 290a697..bdc2083 100644 (file)
@@ -1,10 +1,7 @@
 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} THEME_PROVIDER_SRCS)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
 ADD_EXECUTABLE(${TARGET_TIZEN_THEME_PROVIDER}
   ${THEME_PROVIDER_SRCS}
 )
-
 TARGET_INCLUDE_DIRECTORIES(${TARGET_TIZEN_THEME_PROVIDER} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../")
 
 APPLY_PKG_CONFIG(${TARGET_TIZEN_THEME_PROVIDER} PUBLIC
diff --git a/src/unit_tests/CMakeLists.txt b/src/unit_tests/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d7925a4
--- /dev/null
@@ -0,0 +1,18 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} UNIT_TESTS_SRCS)
+ADD_EXECUTABLE(${TARGET_TIZEN_THEME_UNIT_TEST}
+  ${UNIT_TESTS_SRCS}
+)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_TIZEN_THEME_UNIT_TEST} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../")
+
+APPLY_PKG_CONFIG(${TARGET_TIZEN_THEME_UNIT_TEST} PUBLIC
+  GMOCK_DEPS
+)
+
+#TARGET_LINK_LIBRARIES(${TARGET_TIZEN_THEME_UNIT_TEST} PRIVATE ${TARGET_TIZEN_THEME})
+SET_TARGET_PROPERTIES(${TARGET_TIZEN_THEME_UNIT_TEST} PROPERTIES COMPILE_FLAGS "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_TIZEN_THEME_UNIT_TEST} PROPERTIES LINK_FLAGS "-pie")
+
+ADD_TEST(
+  NAME ${TARGET_TIZEN_THEME_UNIT_TEST}
+  COMMAND ${TARGET_TIZEN_THEME_UNIT_TEST}
+)
diff --git a/src/unit_tests/main.cc b/src/unit_tests/main.cc
new file mode 100644 (file)
index 0000000..5f340cd
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a apache 2.0 license that can be
+// found in the LICENSE file.
+
+#include <gtest/gtest.h>
+#include <gmock/gmock.h>
+
+int main(int argc, char** argv) {
+  int ret = -1;
+  try {
+    testing::InitGoogleTest(&argc, argv);
+  } catch(...) {
+    std::cout << "Exception occurred" << std::endl;
+  }
+
+  try {
+    ret = RUN_ALL_TESTS();
+  } catch (const ::testing::internal::GoogleTestFailureException& e) {
+    ret = -1;
+    std::cout << "GoogleTestFailureException was thrown:" << e.what()
+              << std::endl;
+  }
+
+  return ret;
+}
diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt
deleted file mode 100644 (file)
index 6b4fb81..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(tizen-theme_unittests)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(tizen-theme_unittests REQUIRED
-    gmock
-)
-
-FOREACH(flag ${tizen-theme_unittests_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src/theme)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src/theme_provider)
-
-AUX_SOURCE_DIRECTORY(./ SOURCES)
-ADD_EXECUTABLE(${PROJECT_NAME}
-    ${SOURCES}
-)
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${widget-viewer_unittests_LDFLAGS}
-    ${pkgs_LDFLAGS}
-    ${pkgs_LIBRARIES}
-    gmock
-)
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
diff --git a/unittest/main.cc b/unittest/main.cc
deleted file mode 100644 (file)
index 8065f0f..0000000
+++ /dev/null
@@ -1,36 +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 <gmock/gmock.h>
-
-int main(int argc, char** argv){
-  int ret = -1;
-  try {
-    testing::InitGoogleTest(&argc, argv);
-  } catch(...) {
-    std::cout << "Exception occurred" << std::endl;
-  }
-
-  try {
-    ret = RUN_ALL_TESTS();
-  } catch (const ::testing::internal::GoogleTestFailureException& e) {
-    ret = -1;
-    std::cout << "GoogleTestFailureException was thrown:" << e.what() << std::endl;
-  }
-
-  return ret;
-}