ssh -x -a -S $socket root@192.168.2.3 "$@"
}
-_cleanupgw() {
+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/#.*/;/")'
+ sshgw 'cangw -F'
}
_plot() {
}
_run() {
- _cleanupgw
- kvers=$(sshgw uname -r)
- dir=$(create_dirs_and_links $(basename $0 .sh) $kvers)
- cd $dir
- main
- _plot
+ if [[ ! "$OPT_PLOT_ONLY" ]]; then
+ kernel_versions=$(sshgw uname -r)
+ else
+ kernel_versions=$(ls results/by-kern)
+ fi
+ for kvers in $kernel_versions; do
+ dir=$(create_dirs_and_links $(basename $0 .sh) $kvers)
+ script=$PWD/$0
+ cd $dir
+ echo "Working directory: $dir"
+ if [[ ! "$OPT_PLOT_ONLY" ]]; then
+ rm -rf *
+ cleanupgw
+ main
+ cp $script .
+ fi
+ _plot
+ done
}
test_end() {
test_end_called=t
- trap '' DEBUG
+ exit_ok=
_run
+ exit_ok=t
}
-exit() {
+_myexit() {
+ code=$?
+ cmd=$BASH_COMMAND
if [[ ! "$test_end_called" ]]; then
test_end_called=t
error "bug in the test script: No test_end called"
fi
+ if ! test -n "$exit_ok"; then
+ error "FATAL: Command '$cmd' exited with code $code"
+ fi
}
-trap 'exit' EXIT
+trap '_myexit' EXIT