-set -x
set -e
PATH=$PWD/../_compiled/bin/:$PATH
}
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() {
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() {