improvs
[anna.git] / example / diameter / launcher / deployments / st-client / program.sh
index e470e80..6d0dbb1 100755 (executable)
@@ -210,6 +210,10 @@ else
     echo -n "${xml}|"
   done | sed 's/'\|'$//')
 
+  # If still idle CPU, you could increase chunks number of background jobs
+  CHUNKS=10
+  echo "Dynamic programming ..."
+  echo
   while read -r line
   do
     instance=$(echo $line | awk '{ print $1 }')
@@ -217,9 +221,11 @@ else
     fin_seq=$(echo $line | awk '{ print $3 }')
     ADML_DIR=`readlink -f ADMLS/ADML-$instance`
   
-    cd $ADML_DIR
-    ./operation.sh -t 60 "dynamic|$ini_seq|$fin_seq|$dynamic_suffix"
-    cd - >/dev/null
+    cd $ADML_DIR                                                      
+    ./operation.sh -t 60 "dynamic|$ini_seq|$fin_seq|$dynamic_suffix" &
+    count=$((count+1))                                                
+    [ $count -eq $CHUNKS ] && { wait $(jobs -p) ; count=1 ; }               
+    cd - >/dev/null                                                   
   
   done < $PROGRAM_LAYOUT_FILE
 
@@ -240,11 +246,51 @@ else
     [ $rate_per_instance -lt 1 ] && rate_per_instance=1
     ./operation.sh "test|ttps|$rate_per_instance"
   else
-    echo "Remember that you could start traffic using:"
-    echo "   ./operation.sh \"test|ttps|<test cases per second rate>\""
-    echo
-    echo "For example, to reach $DESIRED_RATE test cases per second:"
-    echo "   ./operation.sh \"test|ttps|$RATE_PER_INSTANCE\""
+    cat << EOF
+
+To start testing, you must use the './operation.sh' script. Use '-h'
+ to get detailed help. The most common commands used for testing are:
+
+ * Enable reports dump for failed tests:
+    ./operation.sh "test|report|failed"
+
+ * Launch traffic:
+    ./operation.sh "test|ttps|<test cases per second and instance(*)>"
+
+    (*) note: ttps value is related to a single instance: you should"
+              divide the desired CPS by the number of instances. For"
+              exampl, if you need $DESIRED_RATE test cases per second:
+
+                ./operation.sh "test|ttps|$RATE_PER_INSTANCE"
+
+ * Stop traffic:
+    ./operation.sh "test|ttps|0"
+
+ * Reset already classified (Success/Failed) test cases:
+    ./operation.sh "test|reset[|soft]"
+
+ * Reset also 'in-progress' state test cases:
+    ./operation.sh "test|reset|hard"
+
+Remember that './operation.sh' broadcasts the operation scripts along
+ the ADML instances, then some operations should better be used within
+ a specific 'ADMLS/ADML-<instance>' directory to avoid console spam,
+ for example: 
+
+ * Check a testcase in runtime:
+   ADMLS/ADML-001/operation.sh "test|look|<test id>"
+
+ * Execute the next programmed test case:
+   ADMLS/ADML-001/operation.sh "test|next"
+
+ * Interactive-step execution:
+   ADMLS/ADML-001/operation.sh "test|interact|<steps to execute>|<test id>"
+
+ * Summary:
+   ADMLS/ADML-001/operation.sh "test|summary"
+
+EOF
+
   fi
 fi