This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On Wed, Jun 20, 2012 at 10:44 PM, Yao Qi <yao@codesourcery.com> wrote:
> Hi, Hui,
>
> I got some fails with your patch applied,
>
> FAIL: gdb.trace/tfile.exp: tstart
> FAIL: gdb.trace/tfile.exp: tstop
> FAIL: gdb.trace/tfile.exp: load trace file bt.tf (GDB internal error)
> FAIL: gdb.trace/tfile.exp: tfind 0 on trace file bt.tf
> FAIL: gdb.trace/tfile.exp: backtrace on trace file bt.tf
>
> On Wednesday 20 June 2012 18:08:17 Hui Zhu wrote:
>> gdb_test_no_output "tstart"
>
> You start tracing in native, which doesn't support tracepoint.
>
>> +gdb_test "break done_making_trace_files" ".*" ""
>> +gdb_test "continue" ".*" ""
>> +gdb_test_no_output "tstop"
>> +gdb_test "tsave ./bt.tf" ".*" ""
>
> AFAIK, in tfile.exp, trace file is generated by tfile.c and GDB only consumes
> these trace files (basic.tf and error.tf) for test purpose.
>
> --
> Yao (éå)

Thanks for your help.
Post a new version according to your comments.

Thanks,
Hui

2012-06-21  Hui Zhu  <hui_zhu@mentor.com>

	* gdb.trace/tfile.exp: Add new test for backtrace commands
	with tfile to test the tfile memory read.

---
 testsuite/gdb.trace/tfile.exp |   57 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

--- a/testsuite/gdb.trace/tfile.exp
+++ b/testsuite/gdb.trace/tfile.exp
@@ -117,3 +117,60 @@ Not looking at any trace frame.*" \
 gdb_test \
     "interpreter-exec mi \"-target-select tfile basic.tf\"" \
     "\\^connected.*"
+
+#Test the backtrace commands with tfile to test the tfile memory read
+if ![gdb_target_supports_trace] {
+    unsupported "target does not support trace"
+    return -1;
+}
+
+if ![is_remote target] {
+    unsupported "target is not remote"
+    return -1;
+}
+
+remote_file host delete bt.tf
+
+clean_restart ${testfile}
+
+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" ".*" ""
+
+clean_restart ${testfile}
+
+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_sequence "backtrace" "backtrace on trace file bt.tf" {
+    "\[\r\n\]+#0 .* write_error_trace_file \(\)"
+    "\[\r\n\]+#1 .* main"
+}
+
+remote_file host delete bt.tf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]