* made the test variants optional, see CVS log for perftest_il.sh for
authorMichal Voců <michal@ruk.cuni.cz>
Mon, 18 Sep 2006 15:41:43 +0000 (15:41 +0000)
committerMichal Voců <michal@ruk.cuni.cz>
Mon, 18 Sep 2006 15:41:43 +0000 (15:41 +0000)
  description

org.glite.lb.proxy/src/perftest_proxy.sh

index dbe0664..96d5094 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-numjobs=$1
+numjobs=10
 
 # XXX - there must be better way to find stage
 STAGEDIR=/home/michal/shared/egee/jra1-head/stage
@@ -9,7 +9,22 @@ STAGEDIR=/home/michal/shared/egee/jra1-head/stage
 LOGEVENT=${LOGEVENT:-$STAGEDIR/bin/glite-lb-logevent}
 
 DEBUG=${DEBUG:-0}
-PERFTEST_CONSUMER=$STAGEDIR/bin/glite-lb-proxy
+
+SILENT=0
+while getopts "t:n:s" OPTION 
+do
+    case "$OPTION" in 
+    "t") TEST_VARIANT=$OPTARG
+    ;;
+
+    "n") numjobs=$OPTARG
+    ;;
+
+    "s") SILENT=1
+    ;;
+
+    esac
+done
 
 # CONSUMER_ARGS=
 # PERFTEST_COMPONENT=
@@ -29,6 +44,7 @@ purge_proxy ()
     done
 }
 
+group_a () {
 echo "----------------------------------"
 echo "LB Proxy test"
 echo "----------------------------------"
@@ -39,41 +55,74 @@ echo "3) after storing into db, before computing state"
 echo "4) after computing state, before sending to IL"
 echo "5) by IL"
 echo ""
+LOGJOBS_ARGS="-s /tmp/proxy.perf"
+}
+
 echo -e "\tavg_job \t big_job \t avg_dag \t big_dag"
 
 
-LOGJOBS_ARGS="-s /tmp/proxy.perf"
+group_a_test_n () 
+{
+    PERFTEST_CONSUMER=$STAGEDIR/bin/glite-lb-proxy
+    i=$1
+    CONSUMER_ARGS="-d --perf-sink $i -p /tmp/proxy.perf" 
+    export PERFTEST_NAME="proxy_test_$i"
+    echo -n "${i})"
+    run_test proxy $numjobs
+    print_result
+    # purge jobs from database
+    # we have to start proxy again 
+    $PERFTEST_CONSUMER -d -p /tmp/proxy.perf -s 1 >/dev/null 2>&1  &
+    PID=$!
+    purge_proxy `$LOGJOBS -n $numjobs`
+    sleep 2
+    shutdown $PID
+}
 
-i=1
-while [[ $i -lt 5 ]]
+group_a_test_5 ()
+{
+    PERFTEST_COMPONENT="$STAGEDIR/bin/glite-lb-proxy"
+    COMPONENT_ARGS="-d -p /tmp/proxy.perf --proxy-il-sock /tmp/interlogger.perf  --proxy-il-fprefix /tmp/perftest.log"
+
+    PERFTEST_CONSUMER="$STAGEDIR/bin/glite-lb-interlogd-perf-empty"
+    CONSUMER_ARGS="-d -s /tmp/interlogger.perf --file-prefix=/tmp/perftest.log"
+    export PERFTEST_NAME="proxy_test_5"
+    echo -n "5)"
+    run_test proxy $numjobs
+    print_result
+    $PERFTEST_COMPONENT -d -p /tmp/proxy.perf -s 1 >/dev/null 2>&1  &
+    PID=$!
+    purge_proxy `$LOGJOBS -n $numjobs`
+    sleep 2
+    shutdown $PID
+    rm -f /tmp/perftest.log.*
+}
+
+group="a"
+
+group_$group
+
+if [[ $SILENT -eq 0 ]]
+then
+    while [[ -z $TEST_VARIANT ]]
+    do
+       echo -n "Your choice: "
+       read -e TEST_VARIANT
+    done
+    echo -e "\tavg_job \t big_job \t avg_dag \t big_dag"
+fi
+
+if [[ "x$TEST_VARIANT" = "x*" ]]
+then
+   TEST_VARIANT="1 2 3 4 5"
+fi
+
+for variant in $TEST_VARIANT
 do
-       CONSUMER_ARGS="-d --perf-sink $i -p /tmp/proxy.perf" 
-       export PERFTEST_NAME="proxy_test_$i"
-       echo -n "${i})"
-       run_test proxy $numjobs
-       print_result
-       # purge jobs from database
-       # we have to start proxy again 
-       $PERFTEST_CONSUMER -d -p /tmp/proxy.perf -s 1 >/dev/null 2>&1  &
-       PID=$!
-       purge_proxy `$LOGJOBS -n $numjobs`
-       sleep 2
-       shutdown $PID
-       i=$((i+1))
+    if [[ "$variant" = "5" ]]
+    then
+       group_${group}_test_${variant}
+    else
+       group_${group}_test_n $variant
+    fi
 done
-
-PERFTEST_COMPONENT="$STAGEDIR/bin/glite-lb-proxy"
-COMPONENT_ARGS="-d -p /tmp/proxy.perf --proxy-il-sock /tmp/interlogger.perf  --proxy-il-fprefix /tmp/perftest.log"
-
-PERFTEST_CONSUMER="$STAGEDIR/bin/glite-lb-interlogd-perf-empty"
-CONSUMER_ARGS="-d -s /tmp/interlogger.perf --file-prefix=/tmp/perftest.log"
-export PERFTEST_NAME="proxy_test_5"
-echo -n "5)"
-run_test proxy $numjobs
-print_result
-$PERFTEST_COMPONENT -d -p /tmp/proxy.perf -s 1 >/dev/null 2>&1  &
-PID=$!
-purge_proxy `$LOGJOBS -n $numjobs`
-sleep 2
-shutdown $PID
-rm -f /tmp/perftest.log.*