remove plus1 variants
[anna.git] / example / diameter / launcher / resources / scripts / clone.sh
index ad89977..c84423d 100755 (executable)
@@ -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