]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - tests/_lib.sh
Rename broken test (to be skipped)
[can-benchmark.git] / tests / _lib.sh
index 16618148f00504c48bd24e62fe0b041d29e69fdc..3009a884a87d186e64780f5db643849f4fd9403d 100644 (file)
@@ -11,8 +11,8 @@ set -e
 
 PATH=$PWD/../_compiled/bin/:$PATH
 
-RTPRIO=60
-COUNT=10000
+RTPRIO=${RTPRIO:-60}
+COUNT=${COUNT:-10000}
 
 boost_irq_prio() {
     local PRIO=${1:-50}
@@ -44,6 +44,7 @@ prepare_lincan_virtual() {
     rmmod_can
     modprobe -C /dev/null lincan hw=virtual io=0 baudrate=0
     CAN0=/dev/can0
+    CAN1=/dev/can0
     DRIVER=lincan-virtual
     sleep 0.1
 }
@@ -70,6 +71,7 @@ prepare_socketcan_virtual() {
     ip link add dev vcan0 type vcan
     ip link set up dev vcan0
     CAN0=socketcan:vcan0
+    CAN1=socketcan:vcan0
     DRIVER=socketcan-virtual
 }
 
@@ -78,14 +80,30 @@ run_tests() {
     for tst in $tests; do
        boost_irq_prio 50 || true
        prepare_$tst
+       echo "----------------------"
        t
     done
 }
 
+kvers() {
+    local cmdline=$(cat /proc/cmdline|sed -e 's/BOOT_IMAGE=[^ ]*//' \
+                                         -e 's/root=[^ ]*//' \
+                                         -e 's/ro//' \
+                                         -e 's/quiet//' \
+                                         -e 's/rootfstype=[^ ]*//' \
+                                         -e 's/elevator=[^ ]*//' \
+                                         -e 's/^ *//' \
+                                         -e 's/ *$//'|tr -s ' ' '_')
+    v=$(uname -r)
+    [ -n "$cmdline" ] && v="$v:$cmdline"
+    echo $v
+}
+
 plot() {
-    for i in "${!PLOT_CMD[@]}"; do
-       cmd="${PLOT_CMD[$i]}";
-       cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/'\1 ($(uname -r), CPU\\\\@${clk}Mhz)'/")
+#    for i in "${!PLOT_CMD[@]}"; do
+    for i in 0; do
+       cmd=`p`                 # Get plot commands
+       cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/'\1 ($(kvers), CPU\\\\@${clk}Mhz)'/")
        if [ -z "$OPT_NO_X11" ]; then
            echo "set terminal x11 enhanced; ${cmd}" | gnuplot -persist
        fi
@@ -103,25 +121,32 @@ create_dirs_and_links() {
     local kver=$2
     local clck=$3
 
-    local  d=results/by-test/$test/$kver/$clck
+    local  d=results/by-kern/$kver/$clck/$test
     mkdir -p $d
-    mkdir -p results/by-test/$test/$clck # 1
-    mkdir -p results/by-kern/$kver/$clck # 2
-    mkdir -p results/by-kern/$kver/$test # 3
+    mkdir -p results/by-kern/$kver/$test # 1
+    mkdir -p results/by-test/$test/$kver # 2
+    mkdir -p results/by-test/$test/$clck # 3
     mkdir -p results/by-clck/$clck/$kver # 4
     mkdir -p results/by-clck/$clck/$test # 5
-    ln -sfT ../../../${d#results/} results/by-test/$test/$clck/$kver # 1
-    ln -sfT ../../../${d#results/} results/by-kern/$kver/$clck/$test # 2
-    ln -sfT ../../../${d#results/} results/by-kern/$kver/$test/$clck # 3
+    ln -sfT ../../../${d#results/} results/by-kern/$kver/$test/$clck # 1
+    ln -sfT ../../../${d#results/} results/by-test/$test/$kver/$clck # 2
+    ln -sfT ../../../${d#results/} results/by-test/$test/$clck/$kver # 3
     ln -sfT ../../../${d#results/} results/by-clck/$clck/$kver/$test # 4
     ln -sfT ../../../${d#results/} results/by-clck/$clck/$test/$kver # 5
     echo $d
 }
 
 go() {
-    mhz=${MHZ:-2400 300}
+    echo "####################"
+    mhz=`sed -ne '/^cpu MHz/ s/.*:\([^.]+\).*/\1/p' /proc/cpuinfo|head -n 1`
+    if [ -r /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq ]; then
+       local max=$((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`/1000))
+       local min=$((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`/1000))
+       mhz="$max $min"
+    fi
     for clk in $mhz; do
-       dir=$(create_dirs_and_links `basename $0 .sh` `uname -r` $clk)
+    echo "===================="
+       dir=$(create_dirs_and_links `basename $0 .sh` `kvers` $clk)
        set -x
        pushd $dir