X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/65f9755cc99afe04df745d8d64d32f632f9d9db4..0cc4beeb70878612dd686c1d0ba9fadbe2ecd3e1:/gw-tests/lib.sh diff --git a/gw-tests/lib.sh b/gw-tests/lib.sh index c27cd0d..3ea4153 100644 --- a/gw-tests/lib.sh +++ b/gw-tests/lib.sh @@ -1,4 +1,3 @@ -set -x set -e PATH=$PWD/../_compiled/bin/:$PATH @@ -9,11 +8,22 @@ error() { } sshgw() { - ssh root@192.168.2.3 "$@" + local socket="$HOME/.ssh/cangw-connection" + + if [[ ! -S $socket ]]; then + # Create master connection to speed up subsequenct command. + # The ssh is put into background and the connection is closed + # after 10 minutes) + ssh -f -M -S $socket root@192.168.2.3 sleep 600 > /dev/null 2>&1 + fi + ssh -x -a -S $socket root@192.168.2.3 "$@" } -initgw() { - sshgw 'for i in 0 1; do ip link set can$i up type can bitrate 1000000; done' +cleanupgw() { + # 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' + # Delete all GW rules + sshgw 'eval $(cangw -L|sed -e s/-A/-D/ -e "s/#.*/;/")' } plot() { @@ -40,30 +50,26 @@ plot() { create_dirs_and_links() { local test=$1 local kver=$2 - local clck=$3 - local d=results/by-kern/$kver/$clck/$test + set -x + local d=results/by-kern/$kver/$test mkdir -p $d - 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-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 + mkdir -p results/by-test/$test + ln -sfT ../../${d#results/} results/by-test/$test/$kver echo $d } -run() { - initgw +_run() { + cleanupgw + dir=$(create_dirs_and_links $(basename $0 .sh) $(sshgw uname -r)) + cd $dir + main } test_end() { test_end_called=t - run + trap '' DEBUG + _run } exit() {