diff options
Diffstat (limited to 'deployments/ts-service-test/linux-pc/CMakeLists.txt')
-rw-r--r-- | deployments/ts-service-test/linux-pc/CMakeLists.txt | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/deployments/ts-service-test/linux-pc/CMakeLists.txt b/deployments/ts-service-test/linux-pc/CMakeLists.txt index 461bc28b0..8ccc3b3c5 100644 --- a/deployments/ts-service-test/linux-pc/CMakeLists.txt +++ b/deployments/ts-service-test/linux-pc/CMakeLists.txt @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -15,7 +15,52 @@ include(../../deployment.cmake REQUIRED) #------------------------------------------------------------------------------- include(${TS_ROOT}/environments/linux-pc/env.cmake) project(trusted-services LANGUAGES CXX C) -add_executable(ts-service-test) + +# Preparing firmware-test-build by including it +include(${TS_ROOT}/external/firmware_test_builder/FirmwareTestBuilder.cmake) + +include(CTest) +include(UnitTest) + +set(COVERAGE FALSE CACHE BOOL "Enable code coverage measurement") +set(UNIT_TEST_PROJECT_PATH ${TS_ROOT} CACHE PATH "Path of the project directory") +set(CMAKE_CXX_STANDARD 11) + +unit_test_init_cpputest() + +if (COVERAGE) + include(Coverage) + + set(COVERAGE_FILE "coverage.info") + set(TS_SERVICE_TEST_COVERAGE_FILE "ts-service-test-coverage.info" CACHE PATH "Path of coverage info file") + set(TS_SERVICE_TEST_COVERAGE_REPORT_DIR "${CMAKE_CURRENT_BINARY_DIR}/ts-service-coverage-report" CACHE PATH "Directory of coverage report") + + # Collecting coverage + coverage_generate( + NAME "ts-service test" + SOURCE_DIR ${TS_ROOT} + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} + OUTPUT_FILE ${COVERAGE_FILE} + ) + + # Filtering project file coverage + coverage_filter( + INPUT_FILE ${COVERAGE_FILE} + OUTPUT_FILE ${TS_SERVICE_TEST_COVERAGE_FILE} + INCLUDE_DIRECTORY ${UNIT_TEST_PROJECT_PATH}/components + ) + + # Coverage report + coverage_generate_report( + INPUT_FILE ${TS_SERVICE_TEST_COVERAGE_FILE} + OUTPUT_DIRECTORY ${TS_SERVICE_TEST_COVERAGE_REPORT_DIR} + ) +endif() + +unit_test_add_suite( + NAME ts-service-test +) + target_include_directories(ts-service-test PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}") #------------------------------------------------------------------------------- |