From: Philippe Waroquiers Date: Wed, 23 Apr 2014 21:27:07 +0000 (+0000) Subject: * Modify nlgone_exit so that it tests --vgdb-stop-at=startup,exit X-Git-Tag: svn/VALGRIND_3_10_0~531 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e548d704c3f331b562d3d3d145a0cad24e9c9cf9;p=thirdparty%2Fvalgrind.git * Modify nlgone_exit so that it tests --vgdb-stop-at=startup,exit * remove empty lines from nlgone_*.stdinB.gdb, as these empty lines are (surprisingly) repeating the previous gdb command. Empty lines should be be put in the *gdb files. * And add yet another sed expression in filter_gdb to cope with the different place where a thread exits. (this filter technique is now *really* arriving in a dead end e.g. the link between the comment and the sed expression is very poor). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13905 --- diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb index a1068183a0..a31cb0f175 100755 --- a/gdbserver_tests/filter_gdb +++ b/gdbserver_tests/filter_gdb @@ -76,6 +76,8 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d' -e 's/in _dl_sysinfo_int80 () from \/lib\/ld-linux.so.*/in syscall .../' \ -e 's/in kill ().*$/in syscall .../' \ -e 's/in .*kill ().*$/in syscall .../' \ + -e 's/in _exit () from \/lib\/libc.so.*$/in syscall .../' \ + -e 's/in \._exit () from \/lib64\/libc.so.*$/in syscall .../' \ -e 's/in _dl_sysinfo_int80 ()/in syscall .../' \ -e '/^ from \/lib\/ld-linux.so.*$/d' \ -e 's/\(0x........\) in ?? () from \/lib.*$/\1 in syscall .../' \ @@ -83,7 +85,7 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d' -e 's/in \(.__\)\{0,1\}select () from \/.*$/in syscall .../' \ -e '/^ from \/lib\/libc.so.*$/d' \ -e '/^ from \/lib64\/libc.so.*$/d' \ - -e '/^ from \/lib64\/.*\/libc.so.*$/d' \ + -e '/^ from \/lib64\/.*\/libc.so.*$/d' \ -e 's/in select ()$/in syscall .../' \ -e 's/in \.__select ()$/in syscall .../' \ -e 's/in select () at \.\.\/sysdeps\/unix\/syscall-template\.S.*$/in syscall .../' \ diff --git a/gdbserver_tests/nlgone_abrt.stdinB.gdb b/gdbserver_tests/nlgone_abrt.stdinB.gdb index 97dc280489..05dfd90049 100644 --- a/gdbserver_tests/nlgone_abrt.stdinB.gdb +++ b/gdbserver_tests/nlgone_abrt.stdinB.gdb @@ -1,7 +1,6 @@ # connect gdb to Valgrind gdbserver: target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlgone-abrt echo vgdb launched process attached\n - continue # see process get a fatal signal continue diff --git a/gdbserver_tests/nlgone_abrt.stdoutB.exp b/gdbserver_tests/nlgone_abrt.stdoutB.exp index 38207d63da..75ec1e19b9 100644 --- a/gdbserver_tests/nlgone_abrt.stdoutB.exp +++ b/gdbserver_tests/nlgone_abrt.stdoutB.exp @@ -1,4 +1,3 @@ -vgdb launched process attached Continuing. Program received signal SIGABRT, Aborted. 0x........ in syscall ... diff --git a/gdbserver_tests/nlgone_exit.stderr.exp b/gdbserver_tests/nlgone_exit.stderr.exp index f6f82cf6c6..625adc0997 100644 --- a/gdbserver_tests/nlgone_exit.stderr.exp +++ b/gdbserver_tests/nlgone_exit.stderr.exp @@ -1,8 +1,7 @@ Nulgrind, the minimal Valgrind tool (action at startup) vgdb me ... - - starting ... exiting ... +(action at exit) vgdb me ... diff --git a/gdbserver_tests/nlgone_exit.stdinB.gdb b/gdbserver_tests/nlgone_exit.stdinB.gdb index 903fb88c3e..3724be6ec3 100644 --- a/gdbserver_tests/nlgone_exit.stdinB.gdb +++ b/gdbserver_tests/nlgone_exit.stdinB.gdb @@ -1,7 +1,9 @@ # connect gdb to Valgrind gdbserver: target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlgone-exit echo vgdb launched process attached\n - +# continue after startup +continue +# continue at the last instruction continue # see program is gone with exit code quit diff --git a/gdbserver_tests/nlgone_exit.stdoutB.exp b/gdbserver_tests/nlgone_exit.stdoutB.exp index bbe04d5084..3f4c712590 100644 --- a/gdbserver_tests/nlgone_exit.stdoutB.exp +++ b/gdbserver_tests/nlgone_exit.stdoutB.exp @@ -1,3 +1,5 @@ -vgdb launched process attached +Continuing. +Program received signal SIGTRAP, Trace/breakpoint trap. +0x........ in syscall ... Continuing. Program exited with code 01. diff --git a/gdbserver_tests/nlgone_exit.vgtest b/gdbserver_tests/nlgone_exit.vgtest index a354e1c001..02a20a7afa 100644 --- a/gdbserver_tests/nlgone_exit.vgtest +++ b/gdbserver_tests/nlgone_exit.vgtest @@ -1,8 +1,9 @@ # test that an exit (with return value) is properly passed on to gdb. - +# also test the --vgdb-stop-at startup and exit args (so we do not use +# --vgdb-error=0 here) prog: gone args: exit -vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlgone-exit +vgopts: --tool=none --vgdb=yes --vgdb-stop-at=startup,exit --vgdb-prefix=./vgdb-prefix-nlgone-exit stderr_filter: filter_stderr prereq: test -e gdb progB: gdb diff --git a/gdbserver_tests/nlgone_return.stdinB.gdb b/gdbserver_tests/nlgone_return.stdinB.gdb index cd57f62417..3dad93e3d2 100644 --- a/gdbserver_tests/nlgone_return.stdinB.gdb +++ b/gdbserver_tests/nlgone_return.stdinB.gdb @@ -1,7 +1,6 @@ # connect gdb to Valgrind gdbserver: target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlgone-return echo vgdb launched process attached\n - continue # see program is gone quit diff --git a/gdbserver_tests/nlgone_return.stdoutB.exp b/gdbserver_tests/nlgone_return.stdoutB.exp index 69e42bab06..2c7cf40443 100644 --- a/gdbserver_tests/nlgone_return.stdoutB.exp +++ b/gdbserver_tests/nlgone_return.stdoutB.exp @@ -1,3 +1,2 @@ -vgdb launched process attached Continuing. Program exited normally.