]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - gw-tests/lib.sh
c27cd0df3f9c04abd61757821551739479105ac6
[can-benchmark.git] / gw-tests / lib.sh
1 set -x
2 set -e
3
4 PATH=$PWD/../_compiled/bin/:$PATH
5
6 error() {
7     echo $1 >&2
8     exit 1
9 }
10
11 sshgw() {
12     ssh root@192.168.2.3 "$@"
13 }
14
15 initgw() {
16     sshgw 'for i in 0 1; do ip link set can$i up type can bitrate 1000000; done'
17 }
18
19 plot() {
20 #    for i in "${!PLOT_CMD[@]}"; do
21     local testname=`basename $0 .sh`
22     for i in 0; do
23         cmd=`p`                 # Get plot commands
24         cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/\"\1\\\\n($(kvers), CPU\\\\\\\\@${clk}MHz)\"/")
25         if [ -z "$OPT_NO_X11" ]; then
26             echo "set terminal x11 enhanced; ${cmd}" | gnuplot -persist
27         fi
28         I=${i/0/}
29         echo 'set terminal postscript color eps enhanced size 6cm,4cm lw 1 "Times-Roman" 10;' \
30              'set lmargin 8;' \
31               "${cmd}" | gnuplot > ${testname}$I.eps
32         echo "set terminal postscript color eps enhanced;" \
33              "${cmd}" | gnuplot | epstopdf --filter > ${testname}$I.pdf
34         mkdir -p thumb
35         convert -density 30  -gamma 0.5 -quality 90 -type Palette -depth 8 ${testname}$I.pdf thumb/${testname}$I.png
36         convert -density 150 -gamma 0.7 -quality 90 -type Palette -depth 8 ${testname}$I.pdf ${testname}$I.png
37     done
38 }
39
40 create_dirs_and_links() {
41     local test=$1
42     local kver=$2
43     local clck=$3
44
45     local  d=results/by-kern/$kver/$clck/$test
46     mkdir -p $d
47     mkdir -p results/by-kern/$kver/$test # 1
48     mkdir -p results/by-test/$test/$kver # 2
49     mkdir -p results/by-test/$test/$clck # 3
50     mkdir -p results/by-clck/$clck/$kver # 4
51     mkdir -p results/by-clck/$clck/$test # 5
52     ln -sfT ../../../${d#results/} results/by-kern/$kver/$test/$clck # 1
53     ln -sfT ../../../${d#results/} results/by-test/$test/$kver/$clck # 2
54     ln -sfT ../../../${d#results/} results/by-test/$test/$clck/$kver # 3
55     ln -sfT ../../../${d#results/} results/by-clck/$clck/$kver/$test # 4
56     ln -sfT ../../../${d#results/} results/by-clck/$clck/$test/$kver # 5
57     echo $d
58 }
59
60 run() {
61     initgw
62 }
63
64 test_end() {
65     test_end_called=t
66     run
67 }
68
69 exit() {
70     if [[ ! "$test_end_called" ]]; then
71         test_end_called=t
72         error "bug in the test script: No test_end called"
73     fi
74 }
75
76 trap 'exit' EXIT