mirror of https://github.com/F-Stack/f-stack.git
67 lines
1.3 KiB
Bash
67 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
||
|
DIR=$(dirname $0)
|
||
|
|
||
|
if [ $(id -u) -ne 0 ]; then
|
||
|
echo "Run as root"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# check python requirements
|
||
|
python3 ${DIR}/pkttest.py check_reqs
|
||
|
if [ $? -ne 0 ]; then
|
||
|
echo "Requirements for Python not met, exiting"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# secgw application parameters setup
|
||
|
CRYPTO_DEV="--vdev=crypto_null0"
|
||
|
SGW_PORT_CFG="--vdev=net_tap0,mac=fixed --vdev=net_tap1,mac=fixed"
|
||
|
SGW_EAL_XPRM="--no-pci"
|
||
|
SGW_CMD_XPRM=-l
|
||
|
SGW_WAIT_DEV="dtap0"
|
||
|
. ${DIR}/common_defs_secgw.sh
|
||
|
|
||
|
echo "Running tests: $*"
|
||
|
for testcase in $*
|
||
|
do
|
||
|
# check test file presence
|
||
|
testfile="${DIR}/${testcase}.py"
|
||
|
if [ ! -f ${testfile} ]; then
|
||
|
echo "Invalid test ${testcase}"
|
||
|
continue
|
||
|
fi
|
||
|
|
||
|
# prepare test config
|
||
|
python3 ${testfile} config > ${SGW_CFG_FILE}
|
||
|
if [ $? -ne 0 ]; then
|
||
|
rm -f ${SGW_CFG_FILE}
|
||
|
echo "Cannot get secgw configuration for test ${testcase}"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# start the application
|
||
|
secgw_start
|
||
|
|
||
|
# setup interfaces
|
||
|
ifconfig dtap0 up
|
||
|
ifconfig dtap1 up
|
||
|
|
||
|
# run the test
|
||
|
echo "Running test case: ${testcase}"
|
||
|
python3 ${testfile}
|
||
|
st=$?
|
||
|
|
||
|
# stop the application
|
||
|
secgw_stop
|
||
|
|
||
|
# report test result and exit on failure
|
||
|
if [ $st -eq 0 ]; then
|
||
|
echo "Test case ${testcase} succeeded"
|
||
|
else
|
||
|
echo "Test case ${testcase} failed!"
|
||
|
exit $st
|
||
|
fi
|
||
|
done
|