X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;ds=sidebyside;f=example%2Fdiameter%2Flauncher%2Fresources%2Fft-client%2Ftests%2Fcommon.sh;fp=example%2Fdiameter%2Flauncher%2Fresources%2Fft-client%2Ftests%2Fcommon.sh;h=fb60a3375562383e30a9343523799c0b9007c6bf;hb=89c8f9bb52bd0c11386ac114fdfd8723d9ca643e;hp=839bf852c720f94f270bd9212f230a026a332e1c;hpb=a95d9b269edf65f21529c10ed0caa71cefec110c;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..fb60a33 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 "sendxml|$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 +