]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - gw-tests/lib.sh
Merge branch 'master' of rtime.felk.cvut.cz:/can-benchmark
[can-benchmark.git] / gw-tests / lib.sh
index 79899c4ed150744c1c0ce4dbd1815311d9eaa33d..c6bf93fac8ac2e3cd5ba2229c2954392ffb8187b 100644 (file)
@@ -5,6 +5,7 @@ while [ $# -gt 0 ]; do
        -P) OPT_PLOT_DISABLE=1; shift;;
        -p) OPT_PLOT_ONLY=1; shift;;
        -X|--no-x11-plot) OPT_NO_X11=1; shift;;
+       -t) OPT_TRAFFIC=$2; shift 2;;
     esac
 done
 
@@ -70,6 +71,17 @@ echo_plot() {
     echo -n "    " $plot
 }
 
+traffic_and_length() {
+    local opts
+    case $OPT_TRAFFIC in
+       all) error "Bug in the test script - traffic cannot be 'all' here.";;
+       flood|100) opts='';;
+       50)        opts="-p $((2*(44+$1*8)))";;
+       *)         opts="-o";;
+    esac
+    echo $opts -l $1
+}
+
 _run() {
     if [[ ! "$OPT_PLOT_ONLY" ]]; then
        kernel_versions=$(sshgw uname -r)
@@ -89,10 +101,10 @@ _run() {
             # Delete all vcan interfaces
            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 '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 || :'
            cleanupgw
            
            main
@@ -119,7 +131,7 @@ _myexit() {
        error "bug in the test script: No test_end called"
     fi
     if ! test -n "$exit_ok"; then
-       error "FATAL: Command '$cmd' exited with code $code"
+       error "FATAL: Command '$cmd' exit with code $code"
     fi
 }