X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Fresources%2Fscripts%2Fclone.sh;h=f24f7850f94a93d1831e019e1d3d1df261c523c8;hb=c7f7ea45e06f24df384069535ae12f5f2fc3c004;hp=ad89977ebf5690da58b666064628983b96dd5a6e;hpb=ec48516a195faabbb514298ad743520b3fdb7ee4;p=anna.git diff --git a/example/diameter/launcher/resources/scripts/clone.sh b/example/diameter/launcher/resources/scripts/clone.sh index ad89977..f24f785 100755 --- a/example/diameter/launcher/resources/scripts/clone.sh +++ b/example/diameter/launcher/resources/scripts/clone.sh @@ -4,7 +4,8 @@ # VARIABLES # ############# CLONE_WKDIR=$(mktemp -d) -MAX_NUMBER_GROUPS=400 +#MAX_NUMBER_GROUPS=400 +MAX_NUMBER_GROUPS=200 # (depends on the machine) ############# @@ -16,7 +17,8 @@ _exit (){ echo # Background jobs: - kill -9 $(jobs -p) >/dev/null 2>/dev/null + #remaining_jobs=$(jobs -p) + (kill -9 $(jobs -p) 2>&1) >/dev/null # Cleanup: rm -rf $CLONE_WKDIR @@ -39,11 +41,16 @@ usage() { echo echo " Currently, 9 variables are supported to be replaced:" echo - echo " * __TESTID__ : sequence number. For example if you provide 1 to 20 for this script, it will be 1 .. 20" - echo " * __SEQ8__ : 8-digit number corresponding to the sequence number (00000001 for 1, and so on)" - echo " * __IPV4HEX__: hexadecimal IPv4 address, for example: 00000001" - echo " * __IPV4__ : IPv4 address, for example: 0.0.0.1" + echo " * __TESTID__ : sequence number. For example if you provide 1 to 20 for this script, it will be 1 .. 20" + echo " * __SEQ8__ : 8-digit number corresponding to the sequence number (00000001 for 1, and so on)" + echo " * __IPV4HEX__ : hexadecimal IPv4 address, for example: 00000001" + echo " * __IPV4__ : IPv4 address, for example: 0.0.0.1" echo + #echo " One variant (former ones plus 1):" + #echo " __SEQ8P1__ : 8-digit number corresponding to the sequence number (00000002 for 1, and so on)" + #echo " __IPV4HEXP1__: hexadecimal IPv4 address, for example: 00000002" + #echo " __IPV4P1__ : IPv4 address, for example: 0.0.0.2" + #echo echo " Edit the variables section to add more special values if you need them." echo echo " initial sequence: initial sequence number to parse over variables." @@ -92,17 +99,24 @@ clone() { ################################ EDIT THIS SECTION IF YOU NEED NEW SPECIAL VARIABLES ################################ testid=$sequence seq8=$(printf "%08d" $testid) + seq8_p1=$((seq8+1)) ipv4hex=$seq8 + ipv4hex_p1=$seq8_p1 #ipv4=$(for i in $(echo $seq8 | sed 's/\(..\)/0x\1 /g'); do printf "%d." $i; done | sed 's/\.$/\n/') # Numbers beginning with "0" are treated as octal (i.e. base-8): we would have 'invalid octal number with 08 and 09' # Solution: convert to base-10 in this way: $((10#$i)) ipv4=$(for i in $(echo $seq8 | sed 's/\(..\)/ \1 /g'); do printf "%d." $((10#$i)); done | sed 's/\.$/\n/') + ipv4_p1=$(for i in $(echo $seq8_p1 | sed 's/\(..\)/ \1 /g'); do printf "%d." $((10#$i)); done | sed 's/\.$/\n/') local target=$wkdir/values.${1} echo "__TESTID__=$testid" > $target echo "__SEQ8__=$seq8" >> $target echo "__IPV4HEX__=$ipv4hex" >> $target echo "__IPV4__=$ipv4" >> $target + ## First variant: + #echo "__SEQ8P1__=$seq8_p1" >> $target + #echo "__IPV4HEXP1__=$ipv4hex_p1" >> $target + #echo "__IPV4P1__=$ipv4_p1" >> $target source $target #rm $target ######################################### END SPECIAL VARIABLES SECTION ######################################### @@ -214,12 +228,17 @@ do echo -n . r_file=`readlink -f $file` dn_r_file=`dirname $r_file` - #bn_dn_r_file=`basename $dn_r_file` - #echo "Programming group $bn_dn_r_file ..." - $OPERATION -f $r_file >/dev/null + $OPERATION -t 300 -f $r_file > $dn_r_file/result.txt res=$? - #$OPERATION -f $r_file > $dn_r_file/result.txt - [ $res -ne 0 ] && _exit "Exception detected programming a testcase:\n\n`cat $r_file`" + if [ $res -ne 0 ] + then + bn_dn_r_file=`basename $dn_r_file` + exception_dir=$ADML_DIR/exception_stuff_${bn_dn_r_file} + rm -rf $exception_dir + cp -r $dn_r_file $exception_dir + cp $ADML_DIR/launcher.trace $exception_dir + _exit "Exception detected programming a testcase. Check for '$exception_dir'" + fi rm -rf $dn_r_file & done