COMPARISON FIXUP - get regress/ from wip.ipv6.2014-10-13.tip
[adns] / regress / gdbwrap
1 #!/bin/sh
2 set -e
3
4 # For example, put this in x.gdb
5 # break adns__revparse_label
6 # break adns__revparse_done
7 # run
8 # and then
9 # ADNS_TEST_DEBUG='./gdbwrap -n x.gdb' ./r1test tcpptr
10 #
11 # gdbwrap can be passed arguments like
12 # *.gdb passed to gdb with -x
13 # -n exit with exit status 5 which makes r1test think "skipped"
14 #
15 # other arguments are taken to be the program name provided by
16 # whatever has been told to use gdbwrap (eg r1test)
17
18 while true; do
19 case "$1" in
20 *.gdb) xgdb="-x $1"; shift;;
21 -n) x5='exit 5'; shift;;
22 *) break;;
23 esac
24 done
25
26 exe=$1; shift
27
28 exec 5<&0 6>&1 7>&2
29 exec 0<>/dev/tty 1>&0 2>&0
30
31 set +e
32 ex="set args <&5 >&6 2>&7"
33 for a in "$@"; do
34 ex="$ex '$a'"
35 done
36 gdb --return-child-result -ex "$ex" $xgdb $exe
37 $x5