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 <vsetti@baylibre.com>
This commit is contained in:
Valerio Setti 2024-06-12 22:11:22 +02:00 committed by Alberto Escolar
commit e9687c7e5c
7 changed files with 74 additions and 2 deletions

View file

@ -12,6 +12,8 @@ source ${ZEPHYR_BASE}/tests/bsim/compile.source
app=tests/bsim/bluetooth/ll/conn conf_file=prj_split_hci_uart.conf \ app=tests/bsim/bluetooth/ll/conn conf_file=prj_split_hci_uart.conf \
cmake_extra_args=-DEXTRA_DTC_OVERLAY_FILE=hci-uart.overlay compile 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 compile
app=samples/bluetooth/hci_uart_async compile app=samples/bluetooth/hci_uart_async compile

View file

@ -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

View file

@ -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

View file

@ -6,13 +6,14 @@ source ${ZEPHYR_BASE}/tests/bsim/sh_common.source
verbosity_level=2 verbosity_level=2
EXECUTE_TIMEOUT=120 EXECUTE_TIMEOUT=120
BIN_SUFFIX=${bin_suffix:-}
cd ${BSIM_OUT_PATH}/bin 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} -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} -v=${verbosity_level} -s=${simulation_id} -d=1 -testid=${server_id}
Execute ./bs_2G4_phy_v1 -v=${verbosity_level} -s=${simulation_id} \ Execute ./bs_2G4_phy_v1 -v=${verbosity_level} -s=${simulation_id} \

View file

@ -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

View file

@ -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/authorization compile
app=tests/bsim/bluetooth/host/gatt/caching 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/general compile
app=tests/bsim/bluetooth/host/gatt/notify compile app=tests/bsim/bluetooth/host/gatt/notify compile
app=tests/bsim/bluetooth/host/gatt/notify_multiple compile app=tests/bsim/bluetooth/host/gatt/notify_multiple compile

View file

@ -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