travis: Add FIH test scripts

Add scripts that can run instruction skip FIH tests on QEMU.

Co-authored-by: Raef Coles <raef.coles@arm.com>
Change-Id: Ia6da00174115e1dabaf84fdfc0e40476dc1b7a10
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
diff --git a/ci/fih_test_docker/execute_test.sh b/ci/fih_test_docker/execute_test.sh
index 8806776..3683236 100755
--- a/ci/fih_test_docker/execute_test.sh
+++ b/ci/fih_test_docker/execute_test.sh
@@ -18,21 +18,28 @@
 
 WORKING_DIRECTORY=/root/work/tfm
 MCUBOOT_PATH=$WORKING_DIRECTORY/mcuboot
-
-TFM_DIR=/root/work/tfm/trusted-firmware-m
+TFM_DIR=$WORKING_DIRECTORY/trusted-firmware-m
 TFM_BUILD_DIR=$TFM_DIR/build
-MCUBOOT_AXF=install/outputs/MPS2/AN521/bl2.axf
-SIGNED_TFM_BIN=install/outputs/MPS2/AN521/tfm_s_ns_signed.bin
-QEMU_LOG_FILE=qemu.log
-QEMU_PID_FILE=qemu_pid.txt
+
+SKIP_SIZE=$1
+BUILD_TYPE=$2
+DAMAGE_TYPE=$3
+FIH_LEVEL=$4
 
 source ~/.bashrc
 
+if test -z "$FIH_LEVEL"; then
+    # Use the default level
+    CMAKE_FIH_LEVEL=""
+else
+    CMAKE_FIH_LEVEL="-DMCUBOOT_FIH_PROFILE=\"$FIH_LEVEL\""
+fi
+
 # build TF-M with MCUBoot
 mkdir -p $TFM_BUILD_DIR
 cd $TFM_DIR
 cmake -B $TFM_BUILD_DIR \
-    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
     -DTFM_TOOLCHAIN_FILE=toolchain_GNUARM.cmake \
     -DTFM_PLATFORM=mps2/an521 \
     -DTEST_NS=ON \
@@ -40,21 +47,21 @@
     -DTFM_PSA_API=ON \
     -DMCUBOOT_PATH=$MCUBOOT_PATH \
     -DMCUBOOT_LOG_LEVEL=INFO \
+    $CMAKE_FIH_LEVEL \
     .
 cd $TFM_BUILD_DIR
 make -j install
 
-# Run MCUBoot and TF-M in QEMU
-/usr/bin/qemu-system-arm \
-    -M mps2-an521 \
-    -kernel $MCUBOOT_AXF \
-    -device loader,file=$SIGNED_TFM_BIN,addr=0x10080000 \
-    -chardev file,id=char0,path=$QEMU_LOG_FILE \
-    -serial chardev:char0 \
-    -display none \
-    -pidfile $QEMU_PID_FILE \
-    -daemonize
+BOOTLOADER_AXF='./install/outputs/MPS2/AN521/bl2.axf'
 
-sleep 7
+$MCUBOOT_PATH/ci/fih_test_docker/run_fi_test.sh $BOOTLOADER_AXF $SKIP_SIZE $DAMAGE_TYPE> fih_test_output.yaml
 
-cat $QEMU_LOG_FILE
\ No newline at end of file
+echo ""
+echo "test finished with"
+echo "    - BUILD_TYPE: $BUILD_TYPE"
+echo "    - FIH_LEVEL: $FIH_LEVEL"
+echo "    - SKIP_SIZE: $SKIP_SIZE"
+echo "    - DAMAGE_TYPE: $DAMAGE_TYPE"
+
+# TODO: Create human readable output
+cat fih_test_output.yaml