# # Copyright (c) 2022 Arm Limited. # # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the License); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an AS IS BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # add_subdirectory(test_message_handler) set(TEST_MESSAGE_HANDLER_MODEL_0 "model.h" CACHE STRING "Path to built in model 0") set(TEST_MESSAGE_HANDLER_MODEL_1 "" CACHE STRING "Path to built in model 1") set(TEST_MESSAGE_HANDLER_MODEL_2 "" CACHE STRING "Path to built in model 2") set(TEST_MESSAGE_HANDLER_MODEL_3 "" CACHE STRING "Path to built in model 3") function(ethosu_add_message_handler_test testname) if(TARGET ethosu_core_driver) file(GLOB models LIST_DIRECTORIES true "${CMAKE_CURRENT_SOURCE_DIR}/../../baremetal/models/${ETHOSU_TARGET_NPU_CONFIG}/*") endif() foreach(model ${models}) get_filename_component(modelname ${model} NAME) ethosu_add_executable_test(mh_${testname}_${modelname} SOURCES ${testname}.cpp message_client.cpp LIBRARIES message_handler_lib freertos_kernel) get_target_property(INTERFACE_LINK_LIBRARIES ethosu_target_startup INTERFACE_LINK_LIBRARIES) if (NOT ethosu_mhu_dummy IN_LIST INTERFACE_LINK_LIBRARIES) target_link_libraries(mh_${testname}_${modelname} PRIVATE ethosu_mhu_dummy) endif() target_include_directories(mh_${testname}_${modelname} PRIVATE ../indexed_networks ${model} ${LINUX_DRIVER_STACK_PATH}/kernel) target_compile_definitions(mh_${testname}_${modelname} PRIVATE TENSOR_ARENA_SIZE=${MESSAGE_HANDLER_ARENA_SIZE} $<$:MODEL_0=${TEST_MESSAGE_HANDLER_MODEL_0}> $<$:MODEL_1=${TEST_MESSAGE_HANDLER_MODEL_1}> $<$:MODEL_2=${TEST_MESSAGE_HANDLER_MODEL_2}> $<$:MODEL_3=${TEST_MESSAGE_HANDLER_MODEL_3}>) endforeach() endfunction() ethosu_add_message_handler_test(run_inference_test) ethosu_add_message_handler_test(cancel_reject_inference_test)