]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - tests/_lib.sh
Convert plot commands to be returned by function p()
[can-benchmark.git] / tests / _lib.sh
index 16618148f00504c48bd24e62fe0b041d29e69fdc..0df9d9133b41a690140e28dff1159986e9e63a6d 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
@@ -119,9 +137,16 @@ create_dirs_and_links() {
 }
 
 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