Index: gdb/testsuite/lib/range-stepping-support.exp |
diff --git a/gdb/testsuite/lib/range-stepping-support.exp b/gdb/testsuite/lib/range-stepping-support.exp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ab38b1186dea507d68f0d810fa835ebf5b2e9d05 |
--- /dev/null |
+++ b/gdb/testsuite/lib/range-stepping-support.exp |
@@ -0,0 +1,54 @@ |
+# Copyright 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 |
+# (at your option) any later version. |
+# |
+# This program is distributed in the hope that it will be useful, |
+# but WITHOUT ANY WARRANTY; without even the implied warranty of |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+# GNU General Public License for more details. |
+# |
+# You should have received a copy of the GNU General Public License |
+# along with this program. If not, see <http://www.gnu.org/licenses/>. |
+ |
+# Execute command CMD and check that GDB sends the expected number of |
+# vCont;s and vCont;r packets. Returns 0 if the test passes, |
+# otherwise returns 1. |
+ |
+proc exec_cmd_expect_vCont_count { cmd exp_vCont_s exp_vCont_r } { |
+ global gdb_prompt |
+ |
+ gdb_test_no_output "set debug remote 1" "" |
+ |
+ set test "${cmd}: vCont;s=${exp_vCont_s} vCont;r=${exp_vCont_r}" |
+ set r_counter 0 |
+ set s_counter 0 |
+ set ret 1 |
+ gdb_test_multiple $cmd $test { |
+ -re "vCont;s\[^\r\n\]*Packet received: T\[\[:xdigit:\]\]\[\[:xdigit:\]\]" { |
+ incr s_counter |
+ exp_continue |
+ } |
+ -re "vCont;r\[^\r\n\]*Packet received: T\[\[:xdigit:\]\]\[\[:xdigit:\]\]" { |
+ incr r_counter |
+ exp_continue |
+ } |
+ -re "\r\n" { |
+ # Prevent overflowing the expect buffer. |
+ exp_continue |
+ } |
+ -re "$gdb_prompt $" { |
+ if { $r_counter == ${exp_vCont_r} && $s_counter == ${exp_vCont_s} } { |
+ pass $test |
+ set ret 0 |
+ } else { |
+ fail $test |
+ } |
+ } |
+ } |
+ |
+ gdb_test_no_output "set debug remote 0" "" |
+ return $ret |
+} |