summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--cmake/Modules/sources.cmake (renamed from src/components/application_manager/test/commands/hmi/CMakeLists.txt)48
-rw-r--r--src/components/application_manager/test/commands/CMakeLists.txt34
-rw-r--r--src/components/application_manager/test/commands/mobile/CMakeLists.txt79
4 files changed, 39 insertions, 124 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b2b200d20..7a802e3ac3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,7 +49,7 @@ option(ENABLE_SANITIZE "Sanitize tool" OFF)
option(ENABLE_SECURITY "Security Ford protocol protection" ON)
option(ENABLE_HMI_PTU_DECRYPTION "Policy table update parsed by hmi" ON)
option(ENABLE_EXTENDED_POLICY "Turns extended flow which requires embedded system interaction" ON)
-
+option(USE_COTIRE "Use Cotire to speed up build (currently only for commands tests)" ON)
set(OS_TYPE_OPTION "$ENV{OS_TYPE}")
set(DEBUG_OPTION "$ENV{DEBUG}")
set(HMI_TYPE_OPTION "$ENV{HMI_TYPE}")
diff --git a/src/components/application_manager/test/commands/hmi/CMakeLists.txt b/cmake/Modules/sources.cmake
index d99e211bdc..1414a33809 100644
--- a/src/components/application_manager/test/commands/hmi/CMakeLists.txt
+++ b/cmake/Modules/sources.cmake
@@ -28,32 +28,24 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-include_directories(
- ${GMOCK_INCLUDE_DIRECTORY}
- ${COMPONENTS_DIR}/application_manager/include/application_manager/
- ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/
- ${COMPONENTS_DIR}/application_manager/test/include/
- ${COMPONENTS_DIR}/application_manager/test/include/application_manager/commands/
-)
-
-file(GLOB SOURCES
- ${AM_SOURCE_DIR}/src/smart_object_keys.cc
- ${AM_SOURCE_DIR}/test/mock_message_helper.cc
- ${COMMANDS_TEST_SOURCE_DIR}/hmi/*
- ${COMMANDS_TEST_SOURCE_DIR}/hmi/vi_is_ready_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/hmi/vr_is_ready_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/hmi/ui_is_ready_request_test.cc
+function(create_cotired_test NAME SOURCES LIBS)
+ add_executable(
+ ${NAME}
+ EXCLUDE_FROM_ALL
+ ${CMAKE_SOURCE_DIR}/src/components/test_main.cc
+ ${SOURCES}
)
-
-set(LIBRARIES
- gmock
- jsoncpp
- Utils
- ApplicationManager
- connectionHandler
- HMI_API
- MOBILE_API
- SmartObjects
-)
-
-create_test("hmi_commands_test" "${SOURCES}" "${LIBRARIES}" )
+ if(${USE_COTIRE})
+ include(cotire)
+ cotire(${NAME})
+ set(NAME "${NAME}_unity")
+ endif()
+ target_link_libraries(${NAME} ${LIBS})
+ set_target_properties(
+ ${NAME}
+ PROPERTIES
+ EXCLUDE_FROM_ALL 0
+ )
+ add_test(NAME ${NAME}
+ COMMAND ${NAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/test_results/)
+endfunction()
diff --git a/src/components/application_manager/test/commands/CMakeLists.txt b/src/components/application_manager/test/commands/CMakeLists.txt
index ebcb1b5086..068823fcfa 100644
--- a/src/components/application_manager/test/commands/CMakeLists.txt
+++ b/src/components/application_manager/test/commands/CMakeLists.txt
@@ -28,36 +28,38 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
+include(sources)
+
include_directories(
${GMOCK_INCLUDE_DIRECTORY}
${COMPONENTS_DIR}/application_manager/include/
+ ${COMPONENTS_DIR}/application_manager/include/application_manager/
+ ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/
${COMPONENTS_DIR}/application_manager/test/include/
- ${COMPONENTS_DIR}/application_manager/test/include/commands/
+ ${COMPONENTS_DIR}/application_manager/test/include/application_manager/
)
-set(COMMANDS_TEST_SOURCE_DIR
- ${COMPONENTS_DIR}/application_manager/test/commands
-)
+set(COMMANDS_TEST_DIR ${AM_TEST_DIR}/commands)
-set (SOURCES
+file(GLOB SOURCES
${COMPONENTS_DIR}/application_manager/test/mock_message_helper.cc
- ${COMMANDS_TEST_SOURCE_DIR}/command_impl_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/command_response_impl_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/command_request_impl_test.cc
+ ${COMPONENTS_DIR}/application_manager/src/smart_object_keys.cc
+ ${COMMANDS_TEST_DIR}/*
+ ${COMMANDS_TEST_DIR}/mobile/*
+ ${COMMANDS_TEST_DIR}/hmi/*
)
set(LIBRARIES
gmock
Utils
- ApplicationManager
- connectionHandler
- HMI_API
- MOBILE_API
SmartObjects
jsoncpp
+ HMI_API
+ MOBILE_API
+ ApplicationManager
+ AMHMICommandsLibrary
+ AMMobileCommandsLibrary
+ connectionHandler
)
-create_test("commands_test" "${SOURCES}" "${LIBRARIES}" )
-
-add_subdirectory(mobile)
-add_subdirectory(hmi)
+create_cotired_test("commands_test" "${SOURCES}" "${LIBRARIES}" )
diff --git a/src/components/application_manager/test/commands/mobile/CMakeLists.txt b/src/components/application_manager/test/commands/mobile/CMakeLists.txt
deleted file mode 100644
index 387e4685ba..0000000000
--- a/src/components/application_manager/test/commands/mobile/CMakeLists.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright (c) 2016, Ford Motor Company
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided with the
-# distribution.
-#
-# Neither the name of the Ford Motor Company nor the names of its contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-include_directories(
- ${GMOCK_INCLUDE_DIRECTORY}
- ${COMPONENTS_DIR}/application_manager/include/application_manager/
- ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/
- ${COMPONENTS_DIR}/application_manager/test/include/
- ${COMPONENTS_DIR}/application_manager/test/include/application_manager/commands/
-)
-
-set (SOURCES
- ${AM_SOURCE_DIR}/src/smart_object_keys.cc
- ${AM_SOURCE_DIR}/test/mock_message_helper.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/delete_command_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/add_command_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/perform_interaction_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/change_registration_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/create_interaction_choice_set_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/register_app_interface_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/speak_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/alert_maneuver_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/show_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/alert_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/add_sub_menu_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/delete_sub_menu_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/delete_file_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_media_clock_timer_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_global_properties_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_app_icon_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_display_layout_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/slider_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/scrollable_message_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/perform_audio_pass_thru_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/end_audio_pass_thru_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/list_files_request_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/put_file_test.cc
- ${COMMANDS_TEST_SOURCE_DIR}/mobile/subscribe_button_request_test.cc
-)
-
-set(LIBRARIES
- gmock
- jsoncpp
- Utils
- ApplicationManager
- connectionHandler
- HMI_API
- MOBILE_API
- SmartObjects
-)
-
-create_test("mobile_commands_test" "${SOURCES}" "${LIBRARIES}" )