--- testsuite/gdb.trace/Makefile.in | 2 testsuite/gdb.trace/disconnected-tracing.c | 22 +++++++ testsuite/gdb.trace/disconnected-tracing.exp | 76 +++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-) --- a/testsuite/gdb.trace/Makefile.in +++ b/testsuite/gdb.trace/Makefile.in @@ -5,7 +5,7 @@ srcdir = @srcdir@ PROGS = ax backtrace deltrace infotrace packetlen passc-dyn passcount \ report save-trace tfile tfind tracecmd tsv unavailable while-dyn \ - while-stepping + while-stepping disconnected-tracing all info install-info dvi install uninstall installcheck check: @echo "Nothing to be done for $@..." --- /dev/null +++ b/testsuite/gdb.trace/disconnected-tracing.c @@ -0,0 +1,22 @@ +/* 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; +} \ No newline at end of file --- /dev/null +++ b/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\\." +if { [gdb_reconnect] == 0 } { + pass "reconnect after unload" +} else { + fail "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\\." +if { [gdb_reconnect] == 0 } { + pass "reconnect after unload" +} else { + fail "reconnect after unload" + return 0 +} +gdb_test "info tracepoints" ".*in main at.*" "Fourth info tracepoints" +