Index: gdb/testsuite/gdb.trace/pending.exp |
diff --git a/gdb/testsuite/gdb.trace/pending.exp b/gdb/testsuite/gdb.trace/pending.exp |
index 750c0317c16e2a1b2ae0eaeea60a3117c0cde2a3..b3c90bc93ea91a037c3723b2a503b7bd99d00da6 100644 |
--- a/gdb/testsuite/gdb.trace/pending.exp |
+++ b/gdb/testsuite/gdb.trace/pending.exp |
@@ -1,4 +1,4 @@ |
-# Copyright 2011-2012 Free Software Foundation, Inc. |
+# Copyright 2011-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 |
@@ -12,7 +12,7 @@ |
# You should have received a copy of the GNU General Public License |
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
-load_lib "trace-support.exp"; |
+load_lib "trace-support.exp" |
if {[skip_shlib_tests]} { |
return 0 |
@@ -53,112 +53,122 @@ if ![runto_main] { |
if ![gdb_target_supports_trace] { |
unsupported "Current target does not support trace" |
- return -1; |
+ return -1 |
} |
# Verify pending tracepoint is resolved to running to main. |
-proc pending_tracepoint_resolved { trace_type } { with_test_prefix "$trace_type resolved" { |
- global srcdir |
- global subdir |
- global binfile |
- global srcfile |
- global lib_sl1 |
- |
- # Start with a fresh gdb. |
- gdb_exit |
- gdb_start |
- gdb_reinitialize_dir $srcdir/$subdir |
- |
- gdb_test_multiple "$trace_type set_point1" "set pending tracepoint" { |
- -re ".*Make \(fast |\)tracepoint pending.*y or \\\[n\\\]. $" { |
- gdb_test "y" "\(Fast t|T\)racepoint.*set_point1.*pending." \ |
- "set pending tracepoint (without symbols)" |
+proc pending_tracepoint_resolved { trace_type } { |
+ with_test_prefix "$trace_type resolved" { |
+ global srcdir |
+ global subdir |
+ global binfile |
+ global srcfile |
+ global lib_sl1 |
+ |
+ # Start with a fresh gdb. |
+ gdb_exit |
+ gdb_start |
+ gdb_reinitialize_dir $srcdir/$subdir |
+ |
+ gdb_test_multiple "$trace_type set_point1" "set pending tracepoint" { |
+ -re ".*Make \(fast |\)tracepoint pending.*y or \\\[n\\\]. $" { |
+ gdb_test "y" "\(Fast t|T\)racepoint.*set_point1.*pending." \ |
+ "set pending tracepoint (without symbols)" |
+ } |
} |
- } |
- gdb_test "info trace" \ |
- "Num Type\[ \]+Disp Enb Address\[ \]+What.* |
+ gdb_test "info trace" \ |
+ "Num Type\[ \]+Disp Enb Address\[ \]+What.* |
\[0-9\]+\[\t \]+\(fast |\)tracepoint\[ \]+keep y.*PENDING.*set_point1.*" \ |
- "single pending tracepoint info (without symbols)" |
+ "single pending tracepoint info (without symbols)" |
- gdb_load ${binfile} |
+ gdb_load ${binfile} |
- gdb_test "break main" "Breakpoint.*at.* file .*$srcfile, line.*" \ |
- "breakpoint function" |
+ gdb_test "break main" "Breakpoint.*at.* file .*$srcfile, line.*" \ |
+ "breakpoint function" |
- gdb_run_cmd |
- gdb_test "" "Breakpoint 2, main.*" |
+ gdb_run_cmd |
+ gdb_test "" "Breakpoint 2, main.*" |
- # Run to main which should resolve a pending tracepoint |
- gdb_test "info trace" \ |
- "Num Type\[ \]+Disp Enb Address\[ \]+What.* |
+ # Run to main which should resolve a pending tracepoint |
+ gdb_test "info trace" \ |
+ "Num Type\[ \]+Disp Enb Address\[ \]+What.* |
\[0-9\]+\[\t \]+\(fast |\)tracepoint\[ \]+keep y.*pendfunc.*" \ |
- "single tracepoint info" |
-}} |
+ "single tracepoint info" |
+ } |
+} |
# Verify pending tracepoint is resolved and works as expected. |
-proc pending_tracepoint_works { trace_type } { with_test_prefix "$trace_type works" { |
- global executable |
- global srcfile |
- global lib_sl1 |
- global gdb_prompt |
+proc pending_tracepoint_works { trace_type } { |
+ with_test_prefix "$trace_type works" { |
+ global executable |
+ global srcfile |
+ global lib_sl1 |
+ global gdb_prompt |
- # Restart with a fresh gdb. |
- clean_restart $executable |
+ # Restart with a fresh gdb. |
+ clean_restart $executable |
- # Test setting and querying pending tracepoints |
+ # Test setting and querying pending tracepoints |
- gdb_test_multiple "$trace_type set_point1" "set pending tracepoint" { |
- -re ".*Make \(fast |\)tracepoint pending.*y or \\\[n\\\]. $" { |
- gdb_test "y" "\(Fast t|T\)racepoint.*set_point1.*pending." "set pending tracepoint" |
+ gdb_test_multiple "$trace_type set_point1" "set pending tracepoint" { |
+ -re ".*Make \(fast |\)tracepoint pending.*y or \\\[n\\\]. $" { |
+ gdb_test "y" \ |
+ "\(Fast t|T\)racepoint.*set_point1.*pending." \ |
+ "set pending tracepoint" |
+ } |
} |
- } |
- gdb_test "info trace" \ |
- "Num Type\[ \]+Disp Enb Address\[ \]+What.* |
+ gdb_test "info trace" \ |
+ "Num Type\[ \]+Disp Enb Address\[ \]+What.* |
\[0-9\]+\[\t \]+\(fast |\)tracepoint\[ \]+keep y.*PENDING.*set_point1.*" \ |
- "single pending tracepoint info" |
+ "single pending tracepoint info" |
- # Run to main which should resolve a pending tracepoint |
- gdb_test "break main" "Breakpoint.*at.* file .*$srcfile, line.*" \ |
- "breakpoint function" |
- gdb_run_cmd |
- gdb_test "" "Breakpoint 2, main.*" |
+ # Run to main which should resolve a pending tracepoint |
+ gdb_test "break main" "Breakpoint.*at.* file .*$srcfile, line.*" \ |
+ "breakpoint function" |
+ gdb_run_cmd |
+ gdb_test "" "Breakpoint 2, main.*" |
- gdb_test "break marker" "Breakpoint.*at.* file .*$srcfile, line.*" \ |
- "breakpoint on marker" |
+ gdb_test "break marker" "Breakpoint.*at.* file .*$srcfile, line.*" \ |
+ "breakpoint on marker" |
- set test "start trace experiment" |
- gdb_test_multiple "tstart" $test { |
- -re "^tstart\r\n$gdb_prompt $" { |
- pass $test |
- } |
- -re "Target returns error code .* too far .*$gdb_prompt $" { |
- if [string equal $trace_type "ftrace"] { |
- # The target was unable to install the fast tracepoint |
- # (e.g., jump pad too far from tracepoint). |
- pass "$test (too far)" |
- # Skip the rest of the tests. |
- return |
- } else { |
- fail $test |
+ set test "start trace experiment" |
+ gdb_test_multiple "tstart" $test { |
+ -re "^tstart\r\n$gdb_prompt $" { |
+ pass $test |
+ } |
+ -re "Target returns error code .* too far .*$gdb_prompt $" { |
+ if [string equal $trace_type "ftrace"] { |
+ # The target was unable to install the fast tracepoint |
+ # (e.g., jump pad too far from tracepoint). |
+ pass "$test (too far)" |
+ # Skip the rest of the tests. |
+ return |
+ } else { |
+ fail $test |
+ } |
} |
- } |
- } |
+ } |
- gdb_test "continue" "Continuing.\r\n\r\nBreakpoint.*marker.*at.*$srcfile.*" \ |
- "continue to marker" |
+ gdb_test "continue" "Continuing.\r\n\r\nBreakpoint.*marker.*at.*$srcfile.*" \ |
+ "continue to marker" |
- gdb_test "tstop" "\[\r\n\]+" "stop trace experiment" |
+ gdb_test "tstop" "\[\r\n\]+" "stop trace experiment" |
- gdb_test "tfind start" "#0 .*" "tfind test frame 0" |
- gdb_test "tfind" "Found trace frame 1, tracepoint 1.*" "tfind test frame 1" |
- gdb_test "tfind" "Found trace frame 2, tracepoint 1.*" "tfind test frame 2" |
- gdb_test "tfind" "Target failed to find requested trace frame..*" "tfind test frame" |
-}} |
+ gdb_test "tfind start" "#0 .*" "tfind test frame 0" |
+ gdb_test "tfind" "Found trace frame 1, tracepoint 1.*" \ |
+ "tfind test frame 1" |
+ gdb_test "tfind" "Found trace frame 2, tracepoint 1.*" \ |
+ "tfind test frame 2" |
+ gdb_test "tfind" \ |
+ "Target failed to find requested trace frame..*" \ |
+ "tfind test frame" |
+ } |
+} |
# Verify pending tracepoint is resolved during trace. |