From c5dc5c2b4cb7cfb1659e27936fac109642fa1d82 Mon Sep 17 00:00:00 2001 From: Eduardo Ramos Testillano Date: Wed, 18 Mar 2015 00:09:28 +0100 Subject: [PATCH] Improve error management (rc in functions) --- .gitignore | 2 + .../ft-client/tests/experiment2/go.sh | 40 +++++++++++++------ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 71a2bdc..5f06328 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ docs/doxygen/man .sconsign.dblite *.log *.old +.cproject +.project diff --git a/example/diameter/launcher/resources/ft-client/tests/experiment2/go.sh b/example/diameter/launcher/resources/ft-client/tests/experiment2/go.sh index d9a939d..7c74679 100755 --- a/example/diameter/launcher/resources/ft-client/tests/experiment2/go.sh +++ b/example/diameter/launcher/resources/ft-client/tests/experiment2/go.sh @@ -33,12 +33,14 @@ _exit () { 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 @@ -56,7 +58,9 @@ wait4message () { tail -n0 -F --pid=$timerPid $1 | while read line do if echo $line | grep "^" >/dev/null; then - echo "Message received" + echo "Message received:" + echo + cat $1 # stop the timer kill -13 $timerPid touch .msg_received @@ -71,30 +75,32 @@ wait4message () { 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 () { @@ -104,7 +110,6 @@ process_tc () { echo "***** Executing '$TC' ..." grep -v ^# $TC > $tmpdir/tc - TEST_FAILED=0 while read -r line do oper=$(echo $line | awk '{ print $1 }') @@ -113,30 +118,33 @@ process_tc () { 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 } @@ -173,6 +181,12 @@ echo "----------------------------" 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 -- 2.20.1