X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Fresources%2Fft-client%2Ftests%2Fcommon.sh;h=c04c9528e43c628112a048e539c5e129fa6f9da1;hb=1b238ab9e7ece2279ea37f4cb642f13501b26721;hp=839bf852c720f94f270bd9212f230a026a332e1c;hpb=79bd21297c5df234ad210c19956efaa35e4af2ec;p=anna.git diff --git a/example/diameter/launcher/resources/ft-client/tests/common.sh b/example/diameter/launcher/resources/ft-client/tests/common.sh index 839bf85..c04c952 100755 --- a/example/diameter/launcher/resources/ft-client/tests/common.sh +++ b/example/diameter/launcher/resources/ft-client/tests/common.sh @@ -5,7 +5,6 @@ ############# tmpdir=$(mktemp -d) - ############# # FUNCTIONS # ############# @@ -22,9 +21,75 @@ sigint_handler() { _exit "Script interrupted. Cleanup & exit ..." } +# $1: hex formatted file to send to the server +send_xml () { + ../operation.sh "sendxml|$1" +} + +send_hex () { + sleep 1 + ../operation.sh "sendhex|$1" +} + +# $1: pattern; $2: file +check_pattern () { + echo "Matching pattern '$1' ..." + cat $2 | tr '\n' ' ' | egrep "$1" >/dev/null + res=${PIPESTATUS[2]} + [ $? -ne 0 ] && _exit "Test failed: miss pattern !!" +} + +test_ok () { + echo + echo $1 + echo "Test OK !" + echo + exit 0 +} + +test_failed () { + echo + echo $1 + echo "Test FAILED !" + echo + exit 1 +} + + +# $1: traffic log to monitor +# $2: timeout (request expiration) in seconds +# Result: cats the message when completed +monitor_4_message () { + 0>$1 + rm -f .msg_received + + [ -z "$2" ] && _exit "ERROR: must provide '$FUNCNAME' timeout (second argument)" + sleep $2 & + local timerPid=$! + + # Monitor for incoming message: + tail -n0 -F --pid=$timerPid $1 | while read line + do + if echo $line | grep "^" >/dev/null; then + echo "Message received" + # stop the timer + kill -13 $timerPid + touch .msg_received + fi + done + + if [ ! -f .msg_received ]; then + echo "Timeout expired" + return 1 + fi + + return 0 +} + ############# # EXECUTION # ############# # Trap sigint signal: trap sigint_handler SIGINT +