1# 2# Arm SCP/MCP Software 3# Copyright (c) 2023-2024, Arm Limited and Contributors. All rights reserved. 4# 5# SPDX-License-Identifier: BSD-3-Clause 6# 7 8if(TEST_ON_TARGET) 9 set(TEST_MODULE scmi_power_capping) 10 set(MODULE_ROOT ${CMAKE_SOURCE_DIR}/module) 11endif() 12 13set(MODULE_SRC ${MODULE_ROOT}/${TEST_MODULE}/src) 14set(MODULE_INC ${MODULE_ROOT}/${TEST_MODULE}/include) 15list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/scmi/include) 16list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/power_allocator/include) 17list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/power_meter/include) 18list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/power_coordinator/include) 19set(MODULE_UT_SRC ${CMAKE_CURRENT_LIST_DIR}) 20set(MODULE_UT_INC ${CMAKE_CURRENT_LIST_DIR}) 21set(MODULE_UT_MOCK_SRC ${CMAKE_CURRENT_LIST_DIR}/mocks) 22 23################################################################################ 24# Test mod_scmi_power_capping.c # 25################################################################################ 26set(TEST_SRC mod_scmi_power_capping) 27set(TEST_FILE mod_scmi_power_capping) 28 29list(APPEND MOCK_REPLACEMENTS fwk_module) 30list(APPEND MOCK_REPLACEMENTS fwk_id) 31list(APPEND MOCK_REPLACEMENTS fwk_core) 32list(APPEND MOCK_REPLACEMENTS fwk_mm) 33 34if(NOT TEST_ON_TARGET) 35 set(UNIT_TEST_TARGET mod_${TEST_MODULE}_unit_test) 36endif() 37 38include(${SCP_ROOT}/unit_test/module_common.cmake) 39target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_STD_COMMANDS") 40 41target_sources(${UNIT_TEST_TARGET} 42 PRIVATE 43 ${MODULE_UT_MOCK_SRC}/Mockscmi_power_capping_protocol.c) 44 45################################################################################ 46# Test scmi_power_capping_protocol.c # 47################################################################################ 48set(TEST_SRC scmi_power_capping_protocol) 49set(TEST_FILE scmi_power_capping_protocol) 50 51set(MODULE_SRC ${MODULE_ROOT}/${TEST_MODULE}/src) 52set(MODULE_INC ${MODULE_ROOT}/${TEST_MODULE}/include) 53list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/scmi/include) 54list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/resource_perms/include) 55set(MODULE_UT_SRC ${CMAKE_CURRENT_LIST_DIR}) 56set(MODULE_UT_INC ${CMAKE_CURRENT_LIST_DIR}) 57set(MODULE_UT_MOCK_SRC ${CMAKE_CURRENT_LIST_DIR}/mocks) 58 59list(APPEND MOCK_REPLACEMENTS fwk_module) 60list(APPEND MOCK_REPLACEMENTS fwk_id) 61list(APPEND MOCK_REPLACEMENTS fwk_core) 62list(APPEND MOCK_REPLACEMENTS fwk_mm) 63list(APPEND MOCK_REPLACEMENTS fwk_notification) 64 65if(NOT TEST_ON_TARGET) 66 set(UNIT_TEST_TARGET mod_${TEST_MODULE}_protocol_unit_test) 67endif() 68 69include(${SCP_ROOT}/unit_test/module_common.cmake) 70target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_STD_COMMANDS") 71 72target_sources(${UNIT_TEST_TARGET} 73 PRIVATE 74 ${MODULE_UT_MOCK_SRC}/Mockmod_scmi_extra.c 75 ${MODULE_UT_MOCK_SRC}/Mockmod_power_allocator_extra.c 76 ${MODULE_UT_MOCK_SRC}/Mockmod_power_coordinator_extra.c 77 ${MODULE_UT_MOCK_SRC}/Mockmod_power_meter_extra.c) 78 79################################################################################ 80# Test scmi_power_capping_protocol.c + resource permissions # 81################################################################################ 82set(TEST_SRC scmi_power_capping_protocol) 83set(TEST_FILE scmi_power_capping_protocol) 84 85set(MODULE_SRC ${MODULE_ROOT}/${TEST_MODULE}/src) 86set(MODULE_INC ${MODULE_ROOT}/${TEST_MODULE}/include) 87list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/scmi/include) 88list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/resource_perms/include) 89set(MODULE_UT_SRC ${CMAKE_CURRENT_LIST_DIR}) 90set(MODULE_UT_INC ${CMAKE_CURRENT_LIST_DIR}) 91set(MODULE_UT_MOCK_SRC ${CMAKE_CURRENT_LIST_DIR}/mocks) 92 93list(APPEND MOCK_REPLACEMENTS fwk_module) 94list(APPEND MOCK_REPLACEMENTS fwk_id) 95list(APPEND MOCK_REPLACEMENTS fwk_core) 96list(APPEND MOCK_REPLACEMENTS fwk_mm) 97list(APPEND MOCK_REPLACEMENTS fwk_notification) 98 99if(NOT TEST_ON_TARGET) 100 set(UNIT_TEST_TARGET mod_${TEST_MODULE}_protocol_resource_permissions_unit_test) 101endif() 102 103include(${SCP_ROOT}/unit_test/module_common.cmake) 104target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_STD_COMMANDS") 105target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_MOD_RESOURCE_PERMS") 106 107target_sources(${UNIT_TEST_TARGET} 108 PRIVATE 109 ${MODULE_UT_MOCK_SRC}/Mockmod_scmi_extra.c 110 ${MODULE_UT_MOCK_SRC}/Mockmod_power_allocator_extra.c 111 ${MODULE_UT_MOCK_SRC}/Mockmod_power_coordinator_extra.c 112 ${MODULE_UT_MOCK_SRC}/Mockmod_power_meter_extra.c 113 ${MODULE_UT_MOCK_SRC}/Mockmod_resource_perms_extra.c) 114 115################################################################################ 116# Test scmi_power_capping_protocol.c + notifications # 117################################################################################ 118set(TEST_SRC scmi_power_capping_protocol) 119set(TEST_FILE scmi_power_capping_protocol) 120 121set(MODULE_SRC ${MODULE_ROOT}/${TEST_MODULE}/src) 122set(MODULE_INC ${MODULE_ROOT}/${TEST_MODULE}/include) 123list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/scmi/include) 124set(MODULE_UT_SRC ${CMAKE_CURRENT_LIST_DIR}) 125set(MODULE_UT_INC ${CMAKE_CURRENT_LIST_DIR}) 126set(MODULE_UT_MOCK_SRC ${CMAKE_CURRENT_LIST_DIR}/mocks) 127 128list(APPEND MOCK_REPLACEMENTS fwk_module) 129list(APPEND MOCK_REPLACEMENTS fwk_id) 130list(APPEND MOCK_REPLACEMENTS fwk_core) 131list(APPEND MOCK_REPLACEMENTS fwk_mm) 132list(APPEND MOCK_REPLACEMENTS fwk_notification) 133 134if(NOT TEST_ON_TARGET) 135 set(UNIT_TEST_TARGET mod_${TEST_MODULE}_protocol_notification_unit_test) 136endif() 137 138include(${SCP_ROOT}/unit_test/module_common.cmake) 139target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_STD_COMMANDS") 140target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_NOTIFICATIONS") 141 142target_sources(${UNIT_TEST_TARGET} 143 PRIVATE 144 ${MODULE_UT_MOCK_SRC}/Mockmod_scmi_extra.c 145 ${MODULE_UT_MOCK_SRC}/Mockmod_power_allocator_extra.c 146 ${MODULE_UT_MOCK_SRC}/Mockmod_power_coordinator_extra.c 147 ${MODULE_UT_MOCK_SRC}/Mockmod_power_meter_extra.c) 148 149################################################################################ 150# Test scmi_power_capping_fast_channels.c with standard protocol commands # 151################################################################################ 152set(TEST_SRC scmi_power_capping_fast_channels) 153set(TEST_FILE scmi_power_capping_fast_channels) 154 155set(MODULE_SRC ${MODULE_ROOT}/${TEST_MODULE}/src) 156set(MODULE_INC ${MODULE_ROOT}/${TEST_MODULE}/include) 157list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/scmi/include) 158list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/transport/include) 159set(MODULE_UT_SRC ${CMAKE_CURRENT_LIST_DIR}) 160set(MODULE_UT_INC ${CMAKE_CURRENT_LIST_DIR}) 161set(MODULE_UT_MOCK_SRC ${CMAKE_CURRENT_LIST_DIR}/mocks) 162 163list(APPEND MOCK_REPLACEMENTS fwk_module) 164list(APPEND MOCK_REPLACEMENTS fwk_id) 165list(APPEND MOCK_REPLACEMENTS fwk_core) 166list(APPEND MOCK_REPLACEMENTS fwk_mm) 167 168if(NOT TEST_ON_TARGET) 169 set(UNIT_TEST_TARGET ${TEST_MODULE}_fast_channels_unit_test) 170endif() 171 172include(${SCP_ROOT}/unit_test/module_common.cmake) 173target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_STD_COMMANDS") 174target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_FAST_CHANNELS") 175target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_FAST_CHANNELS_COMMANDS") 176 177target_sources(${UNIT_TEST_TARGET} 178 PRIVATE 179 ${MODULE_UT_MOCK_SRC}/Mockmod_power_allocator_extra.c 180 ${MODULE_UT_MOCK_SRC}/Mockmod_power_coordinator_extra.c 181 ${MODULE_UT_MOCK_SRC}/Mockmod_transport_extra.c) 182 183################################################################################ 184# Test scmi_power_capping_fast_channels.c without standard protocol commands # 185################################################################################ 186set(TEST_SRC scmi_power_capping_fast_channels) 187set(TEST_FILE scmi_power_capping_fast_channels) 188 189set(MODULE_SRC ${MODULE_ROOT}/${TEST_MODULE}/src) 190set(MODULE_INC ${MODULE_ROOT}/${TEST_MODULE}/include) 191list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/scmi/include) 192list(APPEND OTHER_MODULE_INC ${MODULE_ROOT}/transport/include) 193set(MODULE_UT_SRC ${CMAKE_CURRENT_LIST_DIR}) 194set(MODULE_UT_INC ${CMAKE_CURRENT_LIST_DIR}) 195set(MODULE_UT_MOCK_SRC ${CMAKE_CURRENT_LIST_DIR}/mocks) 196 197list(APPEND MOCK_REPLACEMENTS fwk_module) 198list(APPEND MOCK_REPLACEMENTS fwk_id) 199list(APPEND MOCK_REPLACEMENTS fwk_core) 200list(APPEND MOCK_REPLACEMENTS fwk_mm) 201 202if(NOT TEST_ON_TARGET) 203 set(UNIT_TEST_TARGET ${TEST_MODULE}_fast_channels_only_unit_test) 204endif() 205 206include(${SCP_ROOT}/unit_test/module_common.cmake) 207target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_FAST_CHANNELS") 208target_compile_definitions(${UNIT_TEST_TARGET} PUBLIC "BUILD_HAS_SCMI_POWER_CAPPING_FAST_CHANNELS_COMMANDS") 209 210target_sources(${UNIT_TEST_TARGET} 211 PRIVATE 212 ${MODULE_UT_MOCK_SRC}/Mockmod_power_allocator_extra.c 213 ${MODULE_UT_MOCK_SRC}/Mockmod_power_coordinator_extra.c 214 ${MODULE_UT_MOCK_SRC}/Mockmod_transport_extra.c) 215