9dbc4e21e7
As more test cases are defined for execution, test scripts structure needs to be reorganized, so fewer files are needed to describe the test. To achieve that, new environment variables are incorporated into the scripts. Additionally, tests for mixed tunnel protocols are added. Signed-off-by: Mariusz Drost <mariuszx.drost@intel.com> Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
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
|