blob: 3bb6d8331527c6ac445ae63d2c0b47c2bfb7f2be [file] [log] [blame]
Imre Kis2be85932021-11-12 17:07:17 +01001#-------------------------------------------------------------------------------
Gabor Ambrus859cfb32023-08-15 14:12:26 +02002# Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
Imre Kis2be85932021-11-12 17:07:17 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
Balint Dobszay047aea82022-05-16 14:20:53 +02007cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
Gabor Ambrus859cfb32023-08-15 14:12:26 +02008include(../../deployment.cmake REQUIRED)
Imre Kis2be85932021-11-12 17:07:17 +01009
Gabor Ambrus859cfb32023-08-15 14:12:26 +020010include(${TS_ROOT}/environments/linux-pc/env.cmake)
11project(trusted-services LANGUAGES CXX C)
Imre Kis2be85932021-11-12 17:07:17 +010012
13# Preparing firmware-test-build by including it
14include(${TS_ROOT}/external/firmware_test_builder/FirmwareTestBuilder.cmake)
15
16include(CTest)
17include(UnitTest)
18
19set(COVERAGE FALSE CACHE BOOL "Enable code coverage measurement")
20set(UNIT_TEST_PROJECT_PATH ${TS_ROOT} CACHE PATH "Path of the project directory")
21set(CMAKE_CXX_STANDARD 11)
22
23unit_test_init_cpputest()
24
25if (COVERAGE)
26 include(Coverage)
27
28 set(COVERAGE_FILE "coverage.info")
Gabor Ambrus859cfb32023-08-15 14:12:26 +020029 set(UNIT_TESTS_COVERAGE_FILE "unit-tests-coverage.info" CACHE PATH "Path of coverage info file")
30 set(UNIT_TESTS_COVERAGE_REPORT_DIR "${CMAKE_CURRENT_BINARY_DIR}/unit-tests-coverage-report" CACHE PATH "Directory of coverage report")
Imre Kis2be85932021-11-12 17:07:17 +010031
32 # Collecting coverage
33 coverage_generate(
Gabor Ambrus859cfb32023-08-15 14:12:26 +020034 NAME "unit test"
Imre Kis2be85932021-11-12 17:07:17 +010035 SOURCE_DIR ${TS_ROOT}
36 BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}
37 OUTPUT_FILE ${COVERAGE_FILE}
38 )
39
40 # Filtering project file coverage
41 coverage_filter(
42 INPUT_FILE ${COVERAGE_FILE}
Gabor Ambrus859cfb32023-08-15 14:12:26 +020043 OUTPUT_FILE ${UNIT_TESTS_COVERAGE_FILE}
Imre Kis2be85932021-11-12 17:07:17 +010044 INCLUDE_DIRECTORY ${UNIT_TEST_PROJECT_PATH}/components
45 )
46
47 # Coverage report
48 coverage_generate_report(
Gabor Ambrus859cfb32023-08-15 14:12:26 +020049 INPUT_FILE ${UNIT_TESTS_COVERAGE_FILE}
50 OUTPUT_DIRECTORY ${UNIT_TESTS_COVERAGE_REPORT_DIR}
Imre Kis2be85932021-11-12 17:07:17 +010051 )
52endif()
Imre Kisb2724812021-11-12 17:02:24 +010053
Gabor Ambrus859cfb32023-08-15 14:12:26 +020054# Including test suite descriptions
55include(${TS_ROOT}/components/messaging/ffa/libsp/tests.cmake)
Imre Kisb2724812021-11-12 17:02:24 +010056include(${TS_ROOT}/components/rpc/common/tests.cmake)
Imre Kis5090ae82021-11-12 17:06:51 +010057include(${TS_ROOT}/components/rpc/mm_communicate/endpoint/sp/tests.cmake)
Julian Hall98656d52022-05-05 11:09:21 +010058include(${TS_ROOT}/components/service/uefi/smm_variable/frontend/mm_communicate/tests.cmake)