blob: d57a2c1d68d68d8b3c022bb676298606779035ac [file] [log] [blame]
#!/bin/sh
# This will run all the network tests, with the status logged in /tmp/netpan.log
# ---***** THESE MUST BE SET FOR CORRECT OPERATION *****---
export RHOST=
export PASSWD=
# ---***************************************************---
cd `dirname $0`
export LTPROOT=${PWD}
echo $LTPROOT | grep testscripts > /dev/null 2>&1
if [ $? -eq 0 ]; then
cd ..
export LTPROOT=${PWD}
fi
export TMPDIR=/tmp/netpan-$$
mkdir -p $TMPDIR
CMDFILE=${TMPDIR}/network.tests
VERBOSE="no"
# For bitwise operation to determine which testsets run
CMD_IPV6=1 # 0x0001
CMD_IPV6_LIB=2 # 0x0002
CMD_MULTICAST=4 # 0x0004
CMD_NFS=8 # 0x0008
CMD_RPC=16 # 0x0010
CMD_SCTP=32 # 0x0020
CMD_TCPCMDS=64 # 0x0040
CMD_TCPCMDS_ADD=128 # 0x0080
CMD_WHOLE=65535 # 0xFFFF
CMD_DEFAULT=$(($CMD_MULTICAST|$CMD_NFS|$CMD_RPC|$CMD_TCPCMDS))
# ---***** NFS OPTIONAL SETTINGS *****---
# DEFAULTS
# export VERSION=2
# export SOCKET_TYPE=udp
# ---*********************************---
usage() {
echo ""
echo "---------------------------------------------------------"
echo -e "\033[31m $0 [options] \033[0m "
echo "---------------------------------------------------------"
echo " -W|w: whole network tests"
echo " -D|d: default network tests"
echo " -6: IPv6 tests"
echo " -L|l: IPv6 library tests"
echo " -M|m: multicast tests"
echo " -N|n: nfs tests"
echo " -R|r: rpc tests"
echo " -S|s: sctp tests"
echo " -T|t: TCP/IP command tests"
echo " -V|v: Enable verbose"
echo " -H|h: This Usage"
echo "*) 'default' runs multicast, rpc, nfs and some of TCP/IP command"
echo " It is interpreted as 'default' if no test sets are specified"
echo ""
}
# Parse options
CMD=0
while getopts WwDd6LlMmNnRrSsTtVvHh OPTION
do
case $OPTION in
W|w) CMD=$CMD_WHOLE;;
D|d) CMD=$(($CMD|$CMD_DEFAULT));;
6) CMD=$(($CMD|$CMD_IPV6));;
L|l) CMD=$(($CMD|$CMD_IPV6_LIB));;
M|m) CMD=$(($CMD|$CMD_MULTICAST));;
N|n) CMD=$(($CMD|$CMD_NFS));;
R|r) CMD=$(($CMD|$CMD_RPC));;
S|s) CMD=$(($CMD|$CMD_SCTP));;
T|t) CMD=$(($CMD|$CMD_TCPCMDS|$CMD_TCPCMDS_ADD));;
V|v) VERBOSE="yes";;
H|h) usage; exit 0 ;;
*) echo "Error: invalid option..."; usage; exit 1 ;;
esac
done
if [ $CMD -eq 0 ]; then
CMD=$CMD_DEFAULT
fi
# Determine which test set will run
rm -f $CMDFILE
if [ $(($CMD&$CMD_IPV6)) -ne 0 ]; then
cat ${LTPROOT}/runtest/ipv6 >> $CMDFILE
fi
if [ $(($CMD&$CMD_IPV6_LIB)) -ne 0 ]; then
cat ${LTPROOT}/runtest/ipv6_lib >> $CMDFILE
fi
if [ $(($CMD&$CMD_MULTICAST)) -ne 0 ]; then
cat ${LTPROOT}/runtest/multicast >> $CMDFILE
fi
if [ $(($CMD&$CMD_NFS)) -ne 0 ]; then
cat ${LTPROOT}/runtest/nfs >> $CMDFILE
fi
if [ $(($CMD&$CMD_RPC)) -ne 0 ]; then
cat ${LTPROOT}/runtest/rpc >> $CMDFILE
fi
if [ $(($CMD&$CMD_SCTP)) -ne 0 ]; then
cat ${LTPROOT}/runtest/sctp >> $CMDFILE
fi
if [ $(($CMD&$CMD_TCPCMDS)) -ne 0 ]; then
cat ${LTPROOT}/runtest/tcp_cmds >> $CMDFILE
fi
if [ $(($CMD&$CMD_TCPCMDS_ADD)) -ne 0 ]; then
cat ${LTPROOT}/runtest/tcp_cmds_addition >> $CMDFILE
fi
cd $TMPDIR
export PATH="${PATH}:${LTPROOT}/testcases/bin"
if [ ${VERBOSE} = "yes" ]; then
echo "Network parameters:"
echo " - Remote Host: ${RHOST}"
cat $CMDFILE
${LTPROOT}/ver_linux
echo ""
echo ${LTPROOT}/bin/ltp-pan -e -l /tmp/netpan.log -S -a ltpnet -n ltpnet -f $CMDFILE
fi
${LTPROOT}/bin/ltp-pan -e -l /tmp/netpan.log -S -a ltpnet -n ltpnet -f $CMDFILE
if [ $? -eq "0" ]; then
echo ltp-pan reported PASS
else
echo ltp-pan reported FAIL
fi
rm -rf ${TMPDIR}