mirror of https://github.com/F-Stack/f-stack.git
122 lines
2.6 KiB
Bash
122 lines
2.6 KiB
Bash
|
#! /bin/bash
|
||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
||
|
DIR=`dirname $0`
|
||
|
|
||
|
regular=0
|
||
|
inline_on=0
|
||
|
fallback_on=0
|
||
|
legacy_only=0
|
||
|
fallback_val="lookaside-none"
|
||
|
crypto_prim=""
|
||
|
multi_seg_val=""
|
||
|
while getopts ":iflsrc" opt
|
||
|
do
|
||
|
case $opt in
|
||
|
i)
|
||
|
inline_on=1
|
||
|
;;
|
||
|
f)
|
||
|
fallback_on=1
|
||
|
;;
|
||
|
l)
|
||
|
legacy_only=1
|
||
|
;;
|
||
|
s)
|
||
|
multi_seg_val="SGW_MULTI_SEG=128"
|
||
|
;;
|
||
|
r)
|
||
|
regular=1
|
||
|
;;
|
||
|
c)
|
||
|
crypto_prim="CRYPTO_PRIM_TYPE=cpu-crypto"
|
||
|
fallback_val="cpu-crypto"
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
shift $((OPTIND -1))
|
||
|
|
||
|
PROTO=$1
|
||
|
MODE=$2
|
||
|
|
||
|
# test scenarios to set up for regular test
|
||
|
TEST_MODES_REGULAR="legacy \
|
||
|
library \
|
||
|
library_esn \
|
||
|
library_esn_atom"
|
||
|
|
||
|
# test scenarios to set up for inline test
|
||
|
TEST_MODES_INLINE="legacy_inline \
|
||
|
library_inline"
|
||
|
|
||
|
# test scenarios to set up for fallback test
|
||
|
TEST_MODES_FALLBACK="library_fallback"
|
||
|
|
||
|
# env variables to export for specific test scenarios
|
||
|
default="SGW_MODE=legacy SGW_ESN=esn-off SGW_ATOM=atom-off SGW_CRYPTO=regular \
|
||
|
SGW_CRYPTO_FLBK= ${multi_seg_val}"
|
||
|
legacy="${default} CRYPTO_PRIM_TYPE="
|
||
|
library="${default} SGW_MODE=library ${crypto_prim}"
|
||
|
library_esn="${default} SGW_MODE=library SGW_ESN=esn-on ${crypto_prim}"
|
||
|
library_esn_atom="${default} SGW_MODE=library SGW_ESN=esn-on SGW_ATOM=atom-on \
|
||
|
${crypto_prim}"
|
||
|
legacy_inline="${default} SGW_CRYPTO=inline CRYPTO_PRIM_TYPE="
|
||
|
library_inline="${default} SGW_MODE=library SGW_CRYPTO=inline CRYPTO_PRIM_TYPE="
|
||
|
library_fallback="${default} SGW_MODE=library SGW_CRYPTO=inline \
|
||
|
SGW_CRYPTO_FLBK=${fallback_val} SGW_MULTI_SEG=128 CRYPTO_PRIM_TYPE="
|
||
|
|
||
|
# export needed env variables and run tests
|
||
|
if [[ ${regular} -eq 1 ]]; then
|
||
|
for i in ${TEST_MODES_REGULAR}; do
|
||
|
if [[ ${legacy_only} -eq 1 && "${i}" != *legacy* ]]; then
|
||
|
continue
|
||
|
elif [[ ${legacy_only} -eq 0 && "${i}" == *legacy* ]]; then
|
||
|
continue
|
||
|
fi
|
||
|
for x in ${!i}; do
|
||
|
export ${x}
|
||
|
done
|
||
|
|
||
|
/bin/bash ${DIR}/linux_test.sh ${PROTO} ${MODE}
|
||
|
st=$?
|
||
|
if [[ ${st} -ne 0 ]]; then
|
||
|
exit ${st}
|
||
|
fi
|
||
|
done
|
||
|
elif [[ ${inline_on} -eq 1 || ${fallback_on} -eq 1 ]]; then
|
||
|
if [[ ${inline_on} -eq 1 ]]; then
|
||
|
for i in ${TEST_MODES_INLINE}; do
|
||
|
if [[ ${legacy_only} -eq 1 && "${i}" != *legacy* ]]
|
||
|
then
|
||
|
continue
|
||
|
elif [[ ${legacy_only} -eq 0 && "${i}" == *legacy* ]]
|
||
|
then
|
||
|
continue
|
||
|
fi
|
||
|
for x in ${!i}; do
|
||
|
export ${x}
|
||
|
done
|
||
|
|
||
|
/bin/bash ${DIR}/linux_test.sh ${PROTO} ${MODE}
|
||
|
st=$?
|
||
|
if [[ ${st} -ne 0 ]]; then
|
||
|
exit ${st}
|
||
|
fi
|
||
|
done
|
||
|
fi
|
||
|
if [[ ${fallback_on} -eq 1 ]]; then
|
||
|
for i in ${TEST_MODES_FALLBACK}; do
|
||
|
for x in ${!i}; do
|
||
|
export ${x}
|
||
|
done
|
||
|
|
||
|
/bin/bash ${DIR}/linux_test.sh ${PROTO} ${MODE}
|
||
|
st=$?
|
||
|
if [[ ${st} -ne 0 ]]; then
|
||
|
exit ${st}
|
||
|
fi
|
||
|
done
|
||
|
fi
|
||
|
fi
|
||
|
exit 0
|