From: Hui Zhu Date: Mon, 14 May 2012 02:20:54 +0000 (+0000) Subject: 2012-05-11 Hui Zhu X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c772f8e7339f4e0c8b8a5ed10d71848002c2ac18;p=binutils-gdb.git 2012-05-11 Hui Zhu * gdb.trace/Makefile.in (PROGS): Add disconnected-tracing. * gdb.trace/disconnected-tracing.c: New file. * gdb.trace/disconnected-tracing.exp: New file. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index b6a209252be..00bd6c87b07 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2012-05-14 Hui Zhu + + * 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 * 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 7e719e24606..8398a757372 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 00000000000..91d66edf28c --- /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 . */ + +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 00000000000..9c35b76b7ee --- /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 . + +# 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" +