Re: [PATCH] add testsuite for for backtrace commands with tfile to test the tfile memory read

Yao Qi
2012-06-20T14:19:10Z

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 (齐尧)