| #!/bin/bash |
| |
| # This is a simple bash script that tests psa_client/psa_server interaction. |
| # This script is automatically executed when "make run" is launched by the |
| # "psasim" root folder. The script can also be launched manually once |
| # binary files are built (i.e. after "make test" is executed from the "psasim" |
| # root folder). |
| # |
| # Copyright The Mbed TLS Contributors |
| # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
| |
| set -e |
| |
| cd "$(dirname "$0")" |
| |
| function clean_run() { |
| rm -f psa_notify_* |
| pkill psa_partition || true |
| pkill psa_client || true |
| ipcs | grep q | awk '{ printf " -q " $2 }' | xargs ipcrm > /dev/null 2>&1 || true |
| } |
| |
| # The server creates some local files when it starts up so we can wait for this |
| # event as signal that the server is ready so that we can start client(s). |
| function wait_for_server_startup() { |
| while [ ! -f ./psa_notify_* ]; do |
| sleep 0.1 |
| done |
| } |
| |
| clean_run |
| |
| ./psa_partition -k & |
| SERV_PID=$! |
| wait_for_server_startup |
| ./psa_client |
| wait $SERV_PID |