operation_sendxml2e () {
sleep 0.5
$OPER_SCR "sendxml2e|$1"
+ return $?
}
# $1: hex formatted file to send to the server
operation_sendhex2e () {
sleep 0.5
$OPER_SCR "sendhex2e|$1"
+ return $?
}
# $1: file to monitor
tail -n0 -F --pid=$timerPid $1 | while read line
do
if echo $line | grep "^</message>" >/dev/null; then
- echo "Message received"
+ echo "Message received:"
+ echo
+ cat $1
# stop the timer
kill -13 $timerPid
touch .msg_received
return 0
}
-
+# xml content is serialized (removing CR's) to ease the pattern matching:
# $1: pattern; $2: file
check_pattern () {
- echo "Matching pattern '$1' in file '$2' ..."
+ echo -n "Matching pattern '$1' in file '$2' ... "
cat $2 | tr '\n' ' ' | egrep "$1" >/dev/null
- res=${PIPESTATUS[2]}
- [ $res -ne 0 ] && { echo " Cannot found pattern !!" ; test_failed ; }
+ [ $? -ne 0 ] && { echo "ERROR" ; test_failed ; return 1 ; }
+ echo "OK"
+ return 0
}
# $1: pattern file; $2: file
check_pattern_file () {
- echo "Matching file '$1' in file '$2' ..."
+ echo -n "Matching whole file '$1' in file '$2' ... "
grep -f $1 $2 >/dev/null
- [ $? -ne 0 ] && { echo " Cannot found pattern file !!" ; test_failed ; }
+ [ $? -ne 0 ] && { echo "ERROR" ; test_failed ; return 1 ; }
+ echo "OK"
+ return 0
}
# Tests result:
test_ok () {
- echo "$TC Ok" | tee -a $RESULT_LOG
+ echo "Verdict: $TC Ok" | tee -a $RESULT_LOG
}
test_failed () {
- echo "$TC Failed" | tee -a $RESULT_LOG
- TEST_FAILED=1
+ echo "Verdict: $TC Failed" | tee -a $RESULT_LOG
}
process_tc () {
echo "***** Executing '$TC' ..."
grep -v ^# $TC > $tmpdir/tc
- TEST_FAILED=0
while read -r line
do
oper=$(echo $line | awk '{ print $1 }')
case $oper in
SENDXML2E)
operation_sendxml2e $tc_dn/$param1 &
+ [ $? -ne 0 ] && return 1
;;
SENDHEX2E)
operation_sendhex2e $tc_dn/$param1 &
+ [ $? -ne 0 ] && return 1
;;
WAIT4MESSAGE)
wait4message $RECV_LOG 5
+ [ $? -ne 0 ] && return 1
;;
CHECKPATTERN)
check_pattern "$param1" $RECV_LOG
+ [ $? -ne 0 ] && return 1
;;
CHECKPATTERNFILE)
check_pattern_file "$param1" $RECV_LOG
+ [ $? -ne 0 ] && return 1
;;
esac
- [ $TEST_FAILED -eq 1 ] && return 1
done < $tmpdir/tc
- test_ok
return 0
}
for TC in `cat $tmpdir/tc_list`
do
process_tc
+ if [ $? -eq 0 ]; then
+ test_ok
+ else
+ test_failed
+ cat $RECV_LOG
+ fi
done
_exit "Done !" 0