]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - gw-tests/lib.sh
Update genhtml etc.
[can-benchmark.git] / gw-tests / lib.sh
index 4d6e2d75f337973119d25df949afba8c43bfa49d..2fdf1ff2a5579f656186c129addb8192c6b814f7 100644 (file)
@@ -44,6 +44,7 @@ _plot() {
     local testname=`basename $0 .sh`
 
     plot_cmds | sed -e "/set title/ s/[\"']\(.*\)[\"']/\"\1\\\\n($kvers)\"/" > plot.gp
+    if [[ ! -s plot.gp ]]; then return; fi
     if [ -z "$OPT_NO_X11" ]; then
        echo "set terminal x11 enhanced; $(< plot.gp)" | gnuplot -persist
     fi
@@ -78,17 +79,21 @@ traffic_and_length() {
 }
 
 _run() {
-    if [[ ! "$OPT_PLOT_ONLY" ]]
-    then kernel_versions=$(sshgw uname -r)
-    else kernel_versions=$(ls results/by-kern)
+    if [[ ! "$OPT_PLOT_ONLY" ]]; then
+       host_kernel_versions=host-$(uname -r)
+       kernel_versions=$(sshgw uname -r)
+    else
+       host_kernel_versions=$(cd results; ls -d host-*)
+       kernel_versions=$(cd results/host-$(uname -r)/; ls)
     fi
     if [[ $OPT_TRAFFIC = all ]]
     then traffics="flood 50 oneatatime"
     else traffics=$OPT_TRAFFIC
     fi
+    for hostkvers in $host_kernel_versions; do
     for OPT_TRAFFIC in $traffics; do
     for kvers in $kernel_versions; do
-       dir="results/host-$(uname -r)/$kvers/$OPT_TRAFFIC/$(basename $0 .sh)"
+       dir="results/$hostkvers/$kvers/$OPT_TRAFFIC/$(basename $0 .sh)"
        mkdir -p $dir
        script=$PWD/$0
        cd $dir
@@ -96,18 +101,19 @@ _run() {
        if [[ ! "$OPT_PLOT_ONLY" ]]; then
            # Remove data from the last measurement
            rm -rf *
+           touch .results
            # Set can interfaces up
-           sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done'
+           sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done'
            # Delete all vcan interfaces
-           sshgw 'for dev in $(ip l|grep -o vcan[^:]\\+); do ip link del dev $dev; done'
+           sshgw 'for dev in $(ip l|grep -o vcan[^:]\\+); do ip link del dev $dev; done'
            # Reset priorities
-           sshgw 'chrt -p -f 50 `pidof irq/145-can0` > /dev/null || :'
-           sshgw 'chrt -p -f 50 `pidof irq/146-can1` > /dev/null || :'
-           sshgw 'chrt -p -f 49 `pidof sirq-net-rx/0` > /dev/null || :'
-           sshgw 'chrt -p -f 49 `pidof sirq-net-tx/0` > /dev/null || :'
+           sshgw 'if pid=`pidof irq/145-can0`; then chrt -p -f 50 $pid > /dev/null; fi'
+           sshgw 'if pid=`pidof irq/146-can1`; then chrt -p -f 50 $pid > /dev/null; fi'
+           sshgw 'if pid=`pidof sirq-net-rx/0`; then chrt -p -f 49 $pid > /dev/null; fi'
+           sshgw 'if pid=`pidof sirq-net-tx/0`; then chrt -p -f 49 $pid > /dev/null; fi'
            # Set the length of qdisc queue to avoid ENOBUFS errors
            ifconfig can0 txqueuelen 200
-           cleanupgw
+           cleanupgw
 
            main
            cp $script .
@@ -118,6 +124,7 @@ _run() {
        cd -
     done
     done
+    done
 }
 
 test_end() {