This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] add testsuite for for backtrace commands with tfile to test the tfile memory read
- From: Yao Qi <yao at codesourcery dot com>
- To: <gdb-patches at sourceware dot org>
- Cc: Hui Zhu <teawater at gmail dot com>, Pedro Alves <palves at redhat dot com>
- Date: Wed, 20 Jun 2012 22:18:42 +0800
- Subject: Re: [PATCH] add testsuite for for backtrace commands with tfile to test the tfile memory read
- References: <CANFwon3yijJE2S55JQg+qMLepVBOyvzBc40vrtN4aV4YcE4fvw@mail.gmail.com>
On Wednesday 20 June 2012 18:08:17 Hui Zhu wrote:
> +#Test the backtrace commands with tfile to test the tfile memory read
> +remote_file host delete bt.tf
It is better to remove temp files when the test is about to finish.
> +
> +gdb_exit
> +gdb_start
> +
> +gdb_load $binfile
> +
These three can be replaced with "clean_restart".
> +runto_main
> +
> +gdb_delete_tracepoints
Is it needed? IIRC, all breakpoints are removed inside runto_main.
> +set tp1 [gdb_gettpnum write_error_trace_file];
> +
> +if { [istarget i?86-*-*] } {
> + gdb_trace_setactions "Set actions for collect stack" \
> + "$tp1" \
> + "collect *(unsigned char *)\$esp@128" "^$"
> +} elseif {[istarget x86_64-*-* ]} {
> + gdb_trace_setactions "Set actions for collect stack" \
> + "$tp1" \
> + "collect *(unsigned char *)\$rsp@128" "^$"
> +} elseif {[istarget arm*-*-* ] || [istarget mips*-*-* ]} {
> + gdb_trace_setactions "Set actions for collect stack" \
> + "$tp1" \
> + "collect *(unsigned char *)\$sp@128" "^$"
> +} else {
> + unsupported "don't know howto use tracepoint collect stack in this
> target" + continue
> +}
> +
> +gdb_test_no_output "tstart"
> +gdb_test "break done_making_trace_files" ".*" ""
> +gdb_test "continue" ".*" ""
> +gdb_test_no_output "tstop"
> +gdb_test "tsave ./bt.tf" ".*" ""
> +
> +gdb_exit
> +gdb_start
> +
> +gdb_load $binfile
clean_restart
> +
> +gdb_test "target tfile bt.tf" "Created tracepoint.*" "load trace file
> bt.tf" +gdb_test "tfind 0" \
> + "Found trace frame 0, tracepoint \[0-9\]+.
> +\#0 write_error_trace_file ().*" \
> + "tfind 0 on trace file bt.tf"
> +
> +gdb_test "backtrace" \
> +"\#0 write_error_trace_file ().*
> +\#1 .* in main .*" \
> + "backtrace on trace file bt.tf"
gdb_test_sequence is convenient to match the output of bt.
--
Yao (éå)