old-cross-binutils/gdb/testsuite/gdb.trace/disconnected-tracing.exp
Yao Qi 0a251e08fa gdb/testsuite/
* gdb.threads/non-ldr-exc-1.exp (do_test): Fix the indent of
	using with_test_prefix.
	* gdb.threads/non-ldr-exc-2.exp (do_test): Likewise.
	* gdb.threads/non-ldr-exc-3.exp (do_test): Likewise.
	* gdb.threads/non-ldr-exc-4.exp (do_test): Likewise.
	* gdb.threads/watchpoint-fork.exp (test): Likewise.
	* gdb.base/break-interp.exp (test_core): Likewise.
	(test_attach_gdb): Likewise.
	* gdb.base/catch-load.exp (one_catch_load_test): Likewise.
	* gdb.base/disp-step-syscall.exp (disp_step_cross_syscall):
	Likewise.
	* gdb.base/jit-so.exp (one_jit_test): Likewise.
	* gdb.base/jit.exp (one_jit_test): Likewise.
	* gdb.base/sepdebug.exp (test_different_dir): Likewise.
	* gdb.dwarf2/dw2-dir-file-name.exp (test): Likewise.
	* gdb.dwarf2/dw2-noloc.exp (file_symbols): Likewise.
	* gdb.mi/mi-breakpoint-changed.exp (test_pending_resolved):
	Likewise.
	* gdb.mi/mi-cmd-param-changed.exp (test_command_param_changed):
	Likewise.
	* gdb.mi/mi-watch.exp test_watchpoint_all): Likewise.
	* gdb.mi/pr11022.exp (test_memory_changed_observer): Likewise.
	* gdb.trace/change-loc.exp (tracepoint_change_loc_1): Likewise.
	(tracepoint_change_loc_2): Likewise.
	* gdb.trace/disconnected-tracing.exp (disconnected_tracing):
	Likewise.
	(disconnected_tfind): Likewise.
	* gdb.trace/mi-traceframe-changed.exp (test_tfind_tfile):
	Likewise.
	(test_tfind_remote): Likewise.
	* gdb.trace/mi-tracepoint-changed.exp (test_reconnect):
	Likewise.
	(test_pending_resolved): Likewise.
	* gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv):
	Likewise.
	(test_upload_tsv): Likewise.
	* gdb.trace/pending.exp (pending_tracepoint_resolved):
	Likewise.
	(pending_tracepoint_works): Likewise.
	* gdb.trace/report.exp (use_collected_data): Likewise.
	* gdb.trace/status-stop.exp (test_tstart_tstop_tstart):
	Likewise.
	(test_tstart_tstart, test_buffer_full_tstart): Likewise.
	* gdb.trace/strace.exp (strace_info_marker): Likewise.
	(strace_trace_on_same_addr): Likewise.
	(strace_trace_on_diff_addr): Likewise.
	* gdb.trace/unavailable.exp (gdb_collect_args_test): Likewise.
	(gdb_collect_locals_test): Likewise.
	(gdb_unavailable_registers_test): Likewise.
	(gdb_collect_globals_test): Likewise.
2013-03-15 01:41:29 +00:00

149 lines
4.1 KiB
Text

# Copyright 2012-2013 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";
standard_testfile
set executable $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
}
# Disconnect in tracing.
proc disconnected_tracing { } {
with_test_prefix "trace" {
global executable
global decimal
global srcfile
# Start with a fresh gdb.
clean_restart ${executable}
if ![runto_main] {
fail "Can't run to main"
return -1
}
gdb_test_no_output "set confirm off"
gdb_test_no_output "set disconnected-tracing on"
gdb_test "trace start" ".*"
gdb_trace_setactions "collect on tracepoint 2" "2" \
"collect foo" "^$"
gdb_test "break end" "Breakpoint ${decimal} at .*"
gdb_test_no_output "tstart"
gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*"
gdb_test_no_output "tstop"
gdb_test "info tracepoints" ".*in start 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 start 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 "tstatus"
gdb_test "info tracepoints" \
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint keep y.* in start at .*$srcfile:\[0-9\]+.
\[\t \]+tracepoint already hit 1 time.
\[\t \]+trace buffer usage ${decimal} bytes.
\[\t \]+collect foo.*" \
"fourth info tracepoints"
}
}
disconnected_tracing
# Disconnected in tfind
proc disconnected_tfind { } {
with_test_prefix "tfind" {
global executable
global decimal
# Start with a fresh gdb.
clean_restart ${executable}
if ![runto_main] {
fail "Can't run to main"
return -1
}
gdb_test_no_output "set confirm off"
gdb_test_no_output "set disconnected-tracing on"
gdb_test "trace start" ".*"
gdb_test_no_output "tstart"
gdb_test "break end" "Breakpoint ${decimal} at .*"
gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*"
gdb_test_no_output "tstop"
gdb_test "tfind" "Found trace frame 0, tracepoint .*" "tfind frame 0"
gdb_test "p \$trace_frame" ".*\\\$${decimal} = 0.*" \
"p \$trace_frame before disconnected"
gdb_test "p \$tracepoint" ".*\\\$${decimal} = 2.*" \
"p \$tracepoint before disconnected"
gdb_test "disconnect" "Ending remote debugging\\." "first disconnect"
gdb_test "p \$trace_frame" ".*\\\$${decimal} = -1.*"
gdb_test "p \$tracepoint" ".*\\\$${decimal} = -1.*"
gdb_test "p \$trace_line" ".*\\\$${decimal} = -1.*"
gdb_test "p \$trace_file" ".*\\\$${decimal} = void.*"
gdb_test "p \$trace_func" ".*\\\$${decimal} = void.*"
}
}
disconnected_tfind