X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Fresources%2Fscripts%2FtinyTestcase.sh;h=cf4f4cd4195dbe1c79238a5b34fe803e1401df5c;hb=33cf895e97e86830acc867fbed873220c2d492b4;hp=330d08e63fcf2b07e758b87b69c25c436a724919;hpb=f20e0087cf8f3c68c04c8f365156b798cf3cf3be;p=anna.git diff --git a/example/diameter/launcher/resources/scripts/tinyTestcase.sh b/example/diameter/launcher/resources/scripts/tinyTestcase.sh index 330d08e..cf4f4cd 100755 --- a/example/diameter/launcher/resources/scripts/tinyTestcase.sh +++ b/example/diameter/launcher/resources/scripts/tinyTestcase.sh @@ -5,6 +5,7 @@ ############# SCR_DIR=`readlink -f $0 | xargs dirname` TESTCASE_BN=testcase.txt +WHAT=????????? ############# # FUNCTIONS # @@ -17,6 +18,7 @@ _exit() { } usage() { + echo echo "Usage: $0 \"[test_end_points]\" [timeout]" echo echo " source_directory:" @@ -140,7 +142,6 @@ update_testcase () { ############# # EXECUTION # ############# -echo SOURCE_DIR=$1 [ -z "$SOURCE_DIR" ] && usage SOURCE_DIR=`readlink -f $SOURCE_DIR` @@ -185,7 +186,9 @@ ls *.needed >/dev/null 2>/dev/null # Messages classification: 0> cers_4_starting +0> ceas_4_establishing 0> cers_4_starting_origin_hosts +0> ceas_4_establishing_origin_hosts 0> requests_4_sending 0> answers_4_programming 0> $TESTCASE_BN @@ -209,6 +212,7 @@ do grep -q "^isrequest=1$" $mtd if [ $? -eq 0 ] then + # CER's: grep -q "^code=257$" $mtd if [ $? -eq 0 ] then @@ -219,29 +223,42 @@ do ln -sf $xml cer.${originHost}.xml continue fi + # Other requests: echo $frame >> requests_4_sending update_testcase $mtd $xml check_result_code else - # Ignore CEA's: + # CEA's: grep -q "^code=257$" $mtd - [ $? -eq 0 ] && continue + if [ $? -eq 0 ] + then + echo $frame >> ceas_4_establishing + originHost=$(getOriginHost $xml) + [ -z "$originHost" ] && _exit "Missing Origin-Host (frame $frame, CEA message) !!" + echo "$originHost" >> ceas_4_establishing_origin_hosts + ln -sf $xml cer.${originHost}.xml + continue + fi + # Other answers: echo $frame >> answers_4_programming update_testcase $mtd $xml fi done rm -f *.needed + # We will replace all the requests hop-by-hop's with a unique value, to avoid bad sniffing cases (different sources using bad values). # For example, the frame number could be valid enough. hbh_ini= hbh_fin= # involved frames: +involved_xmls= grep sendxml $TESTCASE_BN > .involved_frames n_involved=`wc -l .involved_frames | awk '{ print $1 }'` count=1 for frame in `cat .involved_frames | cut -d\| -f4 | cut -d\. -f1` do xml=( `ls ${frame}.*xml` ) + involved_xmls="$involved_xmls $xml" mtd=( `ls ${frame}.*metadata` ) isrequest=$(grep "isrequest=1" $mtd) if [ -n "$isrequest" ] @@ -252,6 +269,76 @@ do count=$((count+1)) done -echo +# PCAPs without CER messages ... +if [ ! -s cers_4_starting_origin_hosts ] +then + if [ $n_involved -ne 0 ] + then + grep " cers_4_starting_origin_hosts + for oh in `cat cers_4_starting_origin_hosts` + do + cer_file=cer.${oh}.xml + touch $cer_file + echo "WARNING: perhaps you should configure '$cer_file' because it is missing in the pcap file provided." + echo " Currently it contains a basic template but you must fill/fix the unknowns '$WHAT'." + cat << EOF > $cer_file + + + + + + + + + + +EOF + done + #else + # echo "WARNING: No 'sendxml' primitives on testcase ??" + fi +fi + +# PCAPs without CEA messages ... +if [ ! -s ceas_4_establishing_origin_hosts ] +then + if [ $n_involved -ne 0 ] + then + grep " ceas_4_establishing_origin_hosts + for oh in `cat ceas_4_establishing_origin_hosts` + do + cea_file=cea.${oh}.xml + touch $cea_file + echo "WARNING: perhaps you should configure '$cea_file' because it is missing in the pcap file provided." + echo " Currently it contains a basic template but you must fill/fix the unknowns '$WHAT'." + cat << EOF > $cea_file + + + + + + + + + + + + + + + + + + + + + +EOF + done + #else + # echo "WARNING: No 'sendxml' primitives on testcase ??" + fi +fi + exit 0