diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/Makefile.in | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/disconnected-tracing.c | 21 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/disconnected-tracing.exp | 76 |
4 files changed, 106 insertions, 3 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index b6a2092..00bd6c8 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2012-05-14 Hui Zhu <hui_zhu@mentor.com> + + * gdb.trace/Makefile.in (PROGS): Add disconnected-tracing. + * gdb.trace/disconnected-tracing.c: New file. + * gdb.trace/disconnected-tracing.exp: New file. + 2012-05-13 Siva Chandra Reddy <sivachandra@google.com> * gdb.python/python.c: Add a new breakpoint comment. diff --git a/gdb/testsuite/gdb.trace/Makefile.in b/gdb/testsuite/gdb.trace/Makefile.in index 7e719e2..8398a75 100644 --- a/gdb/testsuite/gdb.trace/Makefile.in +++ b/gdb/testsuite/gdb.trace/Makefile.in @@ -3,9 +3,9 @@ srcdir = @srcdir@ .PHONY: all clean mostlyclean distclean realclean -PROGS = ax backtrace deltrace infotrace packetlen passc-dyn passcount \ - report save-trace tfile tfind tracecmd tsv unavailable while-dyn \ - while-stepping +PROGS = ax backtrace deltrace disconnected-tracing infotrace packetlen \ + passc-dyn passcount report save-trace tfile tfind tracecmd tsv \ + unavailable while-dyn while-stepping all info install-info dvi install uninstall installcheck check: @echo "Nothing to be done for $@..." diff --git a/gdb/testsuite/gdb.trace/disconnected-tracing.c b/gdb/testsuite/gdb.trace/disconnected-tracing.c new file mode 100644 index 0000000..91d66ed --- /dev/null +++ b/gdb/testsuite/gdb.trace/disconnected-tracing.c @@ -0,0 +1,21 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2012 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +int main () +{ + return 0; +} diff --git a/gdb/testsuite/gdb.trace/disconnected-tracing.exp b/gdb/testsuite/gdb.trace/disconnected-tracing.exp new file mode 100644 index 0000000..9c35b76 --- /dev/null +++ b/gdb/testsuite/gdb.trace/disconnected-tracing.exp @@ -0,0 +1,76 @@ +# Copyright 2012 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Test of disconnected-tracing. + +load_lib "trace-support.exp"; + +set testfile "disconnected-tracing" +set executable $testfile +set srcfile ${testfile}.c +set binfile $objdir/$subdir/$testfile +set expfile $testfile.exp +set gdbserver_reconnect_p 1 + +if { [info proc gdb_reconnect] == "" } { + unsupported "target does not support reconnect" + return -1 +} + +if [prepare_for_testing $expfile $executable $srcfile \ + {debug nowarnings}] { + untested "failed to prepare for trace tests" + return -1 +} + +if ![runto_main] { + fail "can't run to main to check for trace support" + return -1 +} + +if ![gdb_target_supports_trace] { + unsupported "target does not support trace" + return -1; +} + +delete_breakpoints +gdb_test_no_output "set confirm off" +gdb_test_no_output "set disconnected-tracing on" +gdb_test "trace main" ".*" +gdb_test_no_output "tstart" + +gdb_test "info tracepoints" ".*in main at.*" "first info tracepoints" + +gdb_test "disconnect" "Ending remote debugging\\." "first disconnect" +if { [gdb_reconnect] == 0 } { + pass "first reconnect after unload" +} else { + fail "first reconnect after unload" + return 0 +} +gdb_test "info tracepoints" ".*in main at.*" "second info tracepoints" + +delete_breakpoints +gdb_test "info tracepoints" ".*No tracepoints..*" "third info tracepoints" + +gdb_test "disconnect" "Ending remote debugging\\." "second disconnect" +if { [gdb_reconnect] == 0 } { + pass "second reconnect after unload" +} else { + fail "second reconnect after unload" + return 0 +} +gdb_test "info tracepoints" ".*in main at.*" "fourth info tracepoints" + |