1#!/bin/bash -x
2
3# Copyright (c) 2020-2024 Arm Limited
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17set -e
18
19source $(dirname "$0")/fih-tests_version.sh
20
21pushd .. &&\
22   git clone https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git &&\
23   pushd trusted-firmware-m &&\
24   git checkout eb8ff0db7d657b77abcd0262d5bf7f38eb1e1cdc &&\
25   source lib/ext/tf-m-tests/version.txt &&\
26   popd &&\
27   git clone https://git.trustedfirmware.org/TF-M/tf-m-tests.git &&\
28   pushd tf-m-tests &&\
29   git checkout $version &&\
30   popd
31
32if [[ $GITHUB_ACTIONS == true ]]; then
33    if [[ -z $FIH_ENV ]]; then
34        echo "Workflow has found no \$FIH_ENV"
35        exit 1
36    fi
37
38    args=($FIH_ENV)
39    len=${#args[@]}
40    if [[ $len < 3 ]]; then
41        echo "Invalid number of \$FIH_ENV args"
42        exit 1
43    fi
44
45    BUILD_TYPE=${args[0]}
46    SKIP_SIZE=${args[1]}
47    DAMAGE_TYPE=${args[2]}
48
49    if [[ $len > 3 ]]; then
50        FIH_LEVEL=${args[3]}
51    fi
52fi
53
54if test -z "$FIH_LEVEL"; then
55    docker run --rm -v $(pwd):/root/work/tfm:rw,z mcuboot/fih-test:$FIH_IMAGE_VERSION /bin/sh -c '/root/work/tfm/mcuboot/ci/fih_test_docker/execute_test.sh $0 $1 $2' $SKIP_SIZE $BUILD_TYPE $DAMAGE_TYPE
56else
57    docker run --rm -v $(pwd):/root/work/tfm:rw,z mcuboot/fih-test:$FIH_IMAGE_VERSION /bin/sh -c '/root/work/tfm/mcuboot/ci/fih_test_docker/execute_test.sh $0 $1 $2 $3' $SKIP_SIZE $BUILD_TYPE $DAMAGE_TYPE $FIH_LEVEL
58fi
59