blob: 2b50c976e3332b48af7f5d58faa1f615bbea61d9 [file] [log] [blame]
Imre Kisd4ed6592021-01-14 21:10:51 +01001#-------------------------------------------------------------------------------
2# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7cmake_minimum_required(VERSION 3.16)
8include(../../deployment.cmake REQUIRED)
9
10project(libsp-unit-tests LANGUAGES CXX C)
11
12# Preparing firmware-test-build by including it
13include(${TS_ROOT}/external/firmware_test_builder/FirmwareTestBuilder.cmake)
14
15include(CTest)
16include(UnitTest)
17
18set(COVERAGE FALSE CACHE BOOL "Enable code coverage measurement")
19set(UNIT_TEST_PROJECT_PATH ${TS_ROOT} CACHE PATH "Path of the project directory")
20set(CMAKE_CXX_STANDARD 11)
21
22unit_test_init_cpputest()
23
24if (COVERAGE)
25 include(Coverage)
26
27 set(COVERAGE_FILE "coverage.info")
28 set(LIBSP_COVERAGE_FILE "libsp-coverage.info" CACHE PATH "Path of coverage info file")
29 set(LIBSP_COVERAGE_REPORT_DIR "${CMAKE_CURRENT_BINARY_DIR}/libsp-coverage-report" CACHE PATH "Directory of coverage report")
30
31 # Collecting coverage
32 coverage_generate(
33 NAME "libsp unit test"
34 SOURCE_DIR ${TS_ROOT}
35 BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}
36 OUTPUT_FILE ${COVERAGE_FILE}
37 )
38
39 # Filtering project file coverage
40 coverage_filter(
41 INPUT_FILE ${COVERAGE_FILE}
42 OUTPUT_FILE ${LIBSP_COVERAGE_FILE}
43 INCLUDE_DIRECTORY ${UNIT_TEST_PROJECT_PATH}/components/messaging/ffa/libsp
44 )
45
46 # Coverage report
47 coverage_generate_report(
48 INPUT_FILE ${LIBSP_COVERAGE_FILE}
49 OUTPUT_DIRECTORY ${LIBSP_COVERAGE_REPORT_DIR}
50 )
51endif()
52
53# Including test suite descriptions
54include(${TS_ROOT}/components/messaging/ffa/libsp/tests.cmake)