| # |
| # 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} |
| $<$<BOOL:${TEST_MESSAGE_HANDLER_MODEL_0}>:MODEL_0=${TEST_MESSAGE_HANDLER_MODEL_0}> |
| $<$<BOOL:${TEST_MESSAGE_HANDLER_MODEL_1}>:MODEL_1=${TEST_MESSAGE_HANDLER_MODEL_1}> |
| $<$<BOOL:${TEST_MESSAGE_HANDLER_MODEL_2}>:MODEL_2=${TEST_MESSAGE_HANDLER_MODEL_2}> |
| $<$<BOOL:${TEST_MESSAGE_HANDLER_MODEL_3}>: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) |