From e9687c7e5cccf86a74def432a816fedd23948f05 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Wed, 12 Jun 2024 22:11:22 +0200 Subject: [PATCH] bsim: add tests for BT_USE_PSA_API Add a couple PSA overlay configs for the BT tests in order to evaluate PSA API support introduced by CONFIG_BT_USE_PSA_API. These test are performed on nrf52840dk platform. Signed-off-by: Valerio Setti --- tests/bsim/bluetooth/hci_uart/compile.sh | 2 + .../basic_conn_split_hci_uart_psa.sh | 45 +++++++++++++++++++ .../host/gatt/caching/psa_overlay.conf | 7 +++ .../gatt/caching/test_scripts/_run_test.sh | 5 ++- .../gatt_caching_psa_db_hash_read_eatt.sh | 9 ++++ tests/bsim/bluetooth/host/gatt/compile.sh | 1 + tests/bsim/bluetooth/ll/conn/psa_overlay.conf | 7 +++ 7 files changed, 74 insertions(+), 2 deletions(-) create mode 100755 tests/bsim/bluetooth/hci_uart/tests_scripts/basic_conn_split_hci_uart_psa.sh create mode 100644 tests/bsim/bluetooth/host/gatt/caching/psa_overlay.conf create mode 100755 tests/bsim/bluetooth/host/gatt/caching/test_scripts/gatt_caching_psa_db_hash_read_eatt.sh create mode 100644 tests/bsim/bluetooth/ll/conn/psa_overlay.conf diff --git a/tests/bsim/bluetooth/hci_uart/compile.sh b/tests/bsim/bluetooth/hci_uart/compile.sh index ed177513a05..3546c8c3798 100755 --- a/tests/bsim/bluetooth/hci_uart/compile.sh +++ b/tests/bsim/bluetooth/hci_uart/compile.sh @@ -12,6 +12,8 @@ source ${ZEPHYR_BASE}/tests/bsim/compile.source app=tests/bsim/bluetooth/ll/conn conf_file=prj_split_hci_uart.conf \ cmake_extra_args=-DEXTRA_DTC_OVERLAY_FILE=hci-uart.overlay compile +app=tests/bsim/bluetooth/ll/conn conf_file=prj_split_hci_uart.conf conf_overlay=psa_overlay.conf \ + cmake_extra_args=-DEXTRA_DTC_OVERLAY_FILE=hci-uart.overlay compile app=samples/bluetooth/hci_uart compile app=samples/bluetooth/hci_uart_async compile diff --git a/tests/bsim/bluetooth/hci_uart/tests_scripts/basic_conn_split_hci_uart_psa.sh b/tests/bsim/bluetooth/hci_uart/tests_scripts/basic_conn_split_hci_uart_psa.sh new file mode 100755 index 00000000000..6859ad8cbdf --- /dev/null +++ b/tests/bsim/bluetooth/hci_uart/tests_scripts/basic_conn_split_hci_uart_psa.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# Copyright 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +source ${ZEPHYR_BASE}/tests/bsim/sh_common.source + +# Basic connection test: a central connects to a peripheral and expects a +# notification, using the split controller (ULL LLL) +# Both central and peripheral hosts have their controllers in a separate device +# connected over UART. The controller is the HCI UART sample. +simulation_id="basic_conn_split_hci_uart_psa" +verbosity_level=2 + +cd ${BSIM_OUT_PATH}/bin + +UART_DIR=/tmp/bs_${USER}/${simulation_id}/ +UART_PER=${UART_DIR}/peripheral +UART_CEN=${UART_DIR}/central + +# Note the host+app devices are NOT connected to the phy, only the controllers are. + +# Peripheral app + host : +Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_ll_conn_prj_split_hci_uart_conf_psa_overlay_conf \ + -v=${verbosity_level} -s=${simulation_id} -d=10 -nosim -RealEncryption=0 \ + -testid=peripheral -rs=23 -uart1_fifob_rxfile=${UART_PER}.rx -uart1_fifob_txfile=${UART_PER}.tx + +# Peripheral controller: +Execute ./bs_${BOARD_TS}_samples_bluetooth_hci_uart_prj_conf \ + -v=${verbosity_level} -s=${simulation_id} -d=0 -RealEncryption=0 \ + -rs=23 -uart1_fifob_rxfile=${UART_PER}.tx -uart1_fifob_txfile=${UART_PER}.rx \ + +# Central app + host +Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_ll_conn_prj_split_hci_uart_conf_psa_overlay_conf \ + -v=${verbosity_level} -s=${simulation_id} -d=11 -nosim -RealEncryption=0 \ + -testid=central -rs=6 -uart1_fifob_rxfile=${UART_CEN}.rx -uart1_fifob_txfile=${UART_CEN}.tx + +# Central controller: +Execute ./bs_${BOARD_TS}_samples_bluetooth_hci_uart_prj_conf \ + -v=${verbosity_level} -s=${simulation_id} -d=1 -RealEncryption=0 \ + -rs=23 -uart1_fifob_rxfile=${UART_CEN}.tx -uart1_fifob_txfile=${UART_CEN}.rx + +Execute ./bs_2G4_phy_v1 -v=${verbosity_level} -s=${simulation_id} \ + -D=2 -sim_length=20e6 $@ + +wait_for_background_jobs diff --git a/tests/bsim/bluetooth/host/gatt/caching/psa_overlay.conf b/tests/bsim/bluetooth/host/gatt/caching/psa_overlay.conf new file mode 100644 index 00000000000..7086f66d96d --- /dev/null +++ b/tests/bsim/bluetooth/host/gatt/caching/psa_overlay.conf @@ -0,0 +1,7 @@ +CONFIG_BT_USE_PSA_API=y +CONFIG_MBEDTLS=y +CONFIG_MBEDTLS_PSA_CRYPTO_C=y +CONFIG_PSA_CRYPTO_ENABLE_ALL=y + +CONFIG_ENTROPY_GENERATOR=y +CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG=y diff --git a/tests/bsim/bluetooth/host/gatt/caching/test_scripts/_run_test.sh b/tests/bsim/bluetooth/host/gatt/caching/test_scripts/_run_test.sh index a8399b79eb9..ed7876abe8b 100755 --- a/tests/bsim/bluetooth/host/gatt/caching/test_scripts/_run_test.sh +++ b/tests/bsim/bluetooth/host/gatt/caching/test_scripts/_run_test.sh @@ -6,13 +6,14 @@ source ${ZEPHYR_BASE}/tests/bsim/sh_common.source verbosity_level=2 EXECUTE_TIMEOUT=120 +BIN_SUFFIX=${bin_suffix:-} cd ${BSIM_OUT_PATH}/bin -Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_host_gatt_caching_prj_conf \ +Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_host_gatt_caching_prj_conf${BIN_SUFFIX} \ -v=${verbosity_level} -s=${simulation_id} -d=0 -testid=${client_id} -Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_host_gatt_caching_prj_conf \ +Execute ./bs_${BOARD_TS}_tests_bsim_bluetooth_host_gatt_caching_prj_conf${BIN_SUFFIX} \ -v=${verbosity_level} -s=${simulation_id} -d=1 -testid=${server_id} Execute ./bs_2G4_phy_v1 -v=${verbosity_level} -s=${simulation_id} \ diff --git a/tests/bsim/bluetooth/host/gatt/caching/test_scripts/gatt_caching_psa_db_hash_read_eatt.sh b/tests/bsim/bluetooth/host/gatt/caching/test_scripts/gatt_caching_psa_db_hash_read_eatt.sh new file mode 100755 index 00000000000..281ff23a055 --- /dev/null +++ b/tests/bsim/bluetooth/host/gatt/caching/test_scripts/gatt_caching_psa_db_hash_read_eatt.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +simulation_id="gatt_caching_psa_db_hash_read_eatt_psa" \ + client_id="gatt_client_db_hash_read_eatt" \ + server_id="gatt_server_eatt" \ + bin_suffix="_psa_overlay_conf" \ + $(dirname "${BASH_SOURCE[0]}")/_run_test.sh diff --git a/tests/bsim/bluetooth/host/gatt/compile.sh b/tests/bsim/bluetooth/host/gatt/compile.sh index 3fc026e67cc..67ebb09be9e 100755 --- a/tests/bsim/bluetooth/host/gatt/compile.sh +++ b/tests/bsim/bluetooth/host/gatt/compile.sh @@ -12,6 +12,7 @@ source ${ZEPHYR_BASE}/tests/bsim/compile.source app=tests/bsim/bluetooth/host/gatt/authorization compile app=tests/bsim/bluetooth/host/gatt/caching compile +app=tests/bsim/bluetooth/host/gatt/caching conf_overlay=psa_overlay.conf compile app=tests/bsim/bluetooth/host/gatt/general compile app=tests/bsim/bluetooth/host/gatt/notify compile app=tests/bsim/bluetooth/host/gatt/notify_multiple compile diff --git a/tests/bsim/bluetooth/ll/conn/psa_overlay.conf b/tests/bsim/bluetooth/ll/conn/psa_overlay.conf new file mode 100644 index 00000000000..7086f66d96d --- /dev/null +++ b/tests/bsim/bluetooth/ll/conn/psa_overlay.conf @@ -0,0 +1,7 @@ +CONFIG_BT_USE_PSA_API=y +CONFIG_MBEDTLS=y +CONFIG_MBEDTLS_PSA_CRYPTO_C=y +CONFIG_PSA_CRYPTO_ENABLE_ALL=y + +CONFIG_ENTROPY_GENERATOR=y +CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG=y