blob: d90716c44777d382f0d67e9760642073dd838458 [file] [log] [blame]
#-------------------------------------------------------------------------------
# Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
include(../../deployment.cmake REQUIRED)
include(${TS_ROOT}/environments/linux-pc/env.cmake)
project(trusted-services LANGUAGES CXX C)
# 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(UNIT_TESTS_COVERAGE_FILE "unit-tests-coverage.info" CACHE PATH "Path of coverage info file")
set(UNIT_TESTS_COVERAGE_REPORT_DIR "${CMAKE_CURRENT_BINARY_DIR}/unit-tests-coverage-report" CACHE PATH "Directory of coverage report")
# Collecting coverage
coverage_generate(
NAME "unit 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 ${UNIT_TESTS_COVERAGE_FILE}
INCLUDE_DIRECTORY ${UNIT_TEST_PROJECT_PATH}/components
)
# Coverage report
coverage_generate_report(
INPUT_FILE ${UNIT_TESTS_COVERAGE_FILE}
OUTPUT_DIRECTORY ${UNIT_TESTS_COVERAGE_REPORT_DIR}
)
endif()
# Including test suite descriptions
include(${TS_ROOT}/components/messaging/ffa/libsp/tests.cmake)
include(${TS_ROOT}/components/rpc/common/tests.cmake)
include(${TS_ROOT}/components/rpc/mm_communicate/endpoint/sp/tests.cmake)
include(${TS_ROOT}/components/service/uefi/smm_variable/frontend/mm_communicate/tests.cmake)
include(${TS_ROOT}/components/service/block_storage/block_store/encrypted/unit/tests.cmake)