Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: gdb/testsuite/gdb.trace/while-stepping.exp

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/testsuite/gdb.trace/while-dyn.exp ('k') | gdb/testsuite/gdb.xml/maint_print_struct.exp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/testsuite/gdb.trace/while-stepping.exp
diff --git a/gdb/testsuite/gdb.trace/while-stepping.exp b/gdb/testsuite/gdb.trace/while-stepping.exp
index 5d8e06660506a49c24b5585818fdcddb9826f821..3e605875a87c92e0482e45666eefe2e3b1facaa6 100644
--- a/gdb/testsuite/gdb.trace/while-stepping.exp
+++ b/gdb/testsuite/gdb.trace/while-stepping.exp
@@ -1,4 +1,4 @@
-# Copyright 1998, 2007-2012 Free Software Foundation, Inc.
+# Copyright 1998-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
@@ -15,7 +15,7 @@
# This file was written by Michael Snyder (msnyder@cygnus.com)
-load_lib "trace-support.exp";
+load_lib "trace-support.exp"
gdb_exit
@@ -42,14 +42,15 @@ gdb_delete_tracepoints
set trcpt1 [gdb_gettpnum gdb_c_test]
if { $trcpt1 <= 0 } then {
fail "Could not find gdb_c_test function"
- return;
+ return
}
# 5.12 basic while-stepping command (collect regs)
gdb_test "info tracepoints" \
"Num Type\[ \]+Disp Enb Address\[ \]+What.*
-\[0-9\]+\[\t \]+tracepoint keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+" \
+\[0-9\]+\[\t \]+tracepoint keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
+\[\t \]+not installed on target." \
"5.12: set a tracepoint, stepcount is zero"
set stepcount 12
@@ -70,7 +71,7 @@ gdb_test "info tracepoints" \
# [deferred to dynamic test section]
proc while_stepping_bogus_arg { bogus msgstring } {
- global gdb_prompt;
+ global gdb_prompt
gdb_trace_setactions "$msgstring" \
"" \
@@ -98,3 +99,73 @@ gdb_test "info tracepoints" \
.*end.*" \
"5.16: confirm actions, step without collecting anything"
+gdb_test "break main"
+gdb_run_cmd
+gdb_test "" "Breakpoint .*"
+if ![gdb_target_supports_trace] {
+ unsupported "target does not support trace"
+ return -1
+}
+
+gdb_trace_setactions "set stepcount to $stepcount" \
+ "" \
+ "while-stepping $stepcount" "" \
+ "collect \$regs " "^$" \
+ "collect \$locals " "^$" \
+ "end" ""
+
+proc check_tracepoint { data_source } {
+ with_test_prefix "$data_source" {
+ global srcfile
+ global stepcount
+
+ gdb_test "info tracepoints" \
+ "Num Type\[ \]+Disp Enb Address\[ \]+What.*
+\[0-9\]+\[\t \]+tracepoint keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
+\[\t \]+while-stepping $stepcount.*
+\[\t \]+collect \\\$regs.*
+\[\t \]+collect \\\$locals.*
+\[\t \]+end.*"
+ }
+}
+
+gdb_test_no_output "tstart"
+check_tracepoint "live"
+gdb_test_no_output "tstop"
+set tracefile [standard_output_file ${testfile}]
+gdb_test "tsave ${tracefile}.tf" \
+ "Trace data saved to file '${tracefile}.tf'\.\\r" \
+ "save tfile trace file"
+gdb_test "tsave -ctf ${tracefile}.ctf" \
+ "Trace data saved to directory '${tracefile}.ctf'\.\\r" \
+ "save ctf trace file"
+
+# Restart GDB and read the trace data in tfile target.
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_file_cmd $binfile
+gdb_test "target tfile ${tracefile}.tf" ".*" \
+ "change to tfile target"
+check_tracepoint "tfile"
+
+# Try to read ctf data if GDB supports.
+set gdb_can_read_ctf_data 0
+gdb_test_multiple "target ctf" "" {
+ -re "Undefined target command: \"ctf\"\. Try \"help target\"\.\r\n$gdb_prompt $" {
+ set gdb_can_read_ctf_data 0
+ }
+ -re "No CTF directory specified.*\r\n$gdb_prompt $" {
+ set gdb_can_read_ctf_data 1
+ }
+}
+
+if { $gdb_can_read_ctf_data } {
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_file_cmd $binfile
+ gdb_test "target ctf ${tracefile}.ctf" ".*" \
+ "change to ctf target"
+ check_tracepoint "ctf"
+}
« no previous file with comments | « gdb/testsuite/gdb.trace/while-dyn.exp ('k') | gdb/testsuite/gdb.xml/maint_print_struct.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698