Simplify usage of mi_continue_to.
authorVladimir Prus <vladimir@codesourcery.com>
Thu, 4 Jan 2007 18:58:03 +0000 (18:58 +0000)
committerVladimir Prus <vladimir@codesourcery.com>
Thu, 4 Jan 2007 18:58:03 +0000 (18:58 +0000)
        * lib/mi-support.exp (mi_runto_helper): Renamed
        from mi_runto, added new parameter 'run_or_continue'.
        (mi_runto): Use mi_runto_helper.
        (mi_continue_to): Accept just function name as parameter.
        Use mi_runto_helper.
        * gdb.mi/mi-var-cmd.exp: Adjust to changes.
        * gdb.mi/mi2-var-cmd.exp: Likewise.

gdb/ChangeLog
gdb/testsuite/gdb.mi/mi-var-cmd.exp
gdb/testsuite/gdb.mi/mi2-var-cmd.exp
gdb/testsuite/lib/mi-support.exp

index 1cbf335408f042950ec317b52b5dd1cf19ee9fa1..0e15567430a9aec216a92f54a9d06630ee4be5af 100644 (file)
@@ -1,3 +1,14 @@
+2007-01-04  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Simplify usage of mi_continue_to.
+       * lib/mi-support.exp (mi_runto_helper): Renamed
+       from mi_runto, added new parameter 'run_or_continue'.
+       (mi_runto): Use mi_runto_helper.
+       (mi_continue_to): Accept just function name as parameter.
+       Use mi_runto_helper.
+       * gdb.mi/mi-var-cmd.exp: Adjust to changes.
+       * gdb.mi/mi2-var-cmd.exp: Likewise.
+
 2007-01-04  Jim Blandy  <jimb@codesourcery.com>
 
        * glibc-tdep.c (glibc_skip_solib_resolver): Look for '_dl_fixup',
index 7efb438449fe6834b1ad130342ca6e153f3ef592..d7cd4e99a0b88e82551f3e8272727a8107fc449e 100644 (file)
@@ -425,12 +425,7 @@ mi_gdb_test "-var-update *" \
 
 set line_subroutine1_body [gdb_get_line_number "global_simple.integer = i + 3;"]
 
-mi_gdb_test "-break-insert subroutine1" \
-       "\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"subroutine1\",file=\".*var-cmd.c\",line=\"$line_subroutine1_body\",times=\"0\"\}" \
-       "break-insert subroutine1"
-mi_continue_to "2" "subroutine1" \
-       "\{name=\"i\",value=\"4321\"\},\{name=\"l\",value=\"$hex\"\}" \
-       "var-cmd.c" $line_subroutine1_body "continue to subroutine1"
+mi_continue_to subroutine1
 
 # Test: c_variable-2.10
 # Desc: create variable for locals i,l in subroutine1
@@ -572,21 +567,13 @@ mi_gdb_test "-var-delete l" \
 
 # Test whether we can follow the name of a variable through multiple
 # stack frames.
-mi_gdb_test "-break-insert do_special_tests" \
-  {\^done,bkpt=.*} \
-  "set breakpoint at do_special_tests"
-
-mi_continue_to {.*} do_special_tests {.*} {.*var-cmd.c} {.*} {stop in do_special_tests}
+mi_continue_to do_special_tests
 
 mi_gdb_test "-var-create selected_a @ a" \
   {\^done,name="selected_a",numchild="0",type="int"} \
   "create selected_a"
 
-mi_gdb_test "-break-insert incr_a" \
-  {\^done,bkpt=.*} \
-  "set breakpoint at incr_a"
-
-mi_continue_to {.*} incr_a {.*} {.*var-cmd.c} {.*} {stop in incr_a}
+mi_continue_to incr_a
 
 mi_gdb_test "-var-update selected_a" \
        "\\^done,changelist=\\\[\{name=\"selected_a\",in_scope=\"true\",new_type=\"char\",new_num_children=\"0\"\}\\\]" \
index 291f2d44052f0011e97c220304047decaa5f55f0..79aeb08859006733c55be1df2d2414af86cf85b6 100644 (file)
@@ -388,12 +388,7 @@ mi_gdb_test "-var-assign lsimple.integer 333" \
 
 set line_subroutine1_body [gdb_get_line_number "global_simple.integer = i + 3;"]
 
-mi_gdb_test "-break-insert subroutine1" \
-       "\\^done,bkpt=\{number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"subroutine1\",file=\".*var-cmd.c\",line=\"$line_subroutine1_body\",times=\"0\"\}" \
-       "break-insert subroutine1"
-mi_continue_to "2" "subroutine1" \
-       "\{name=\"i\",value=\"4321\"\},\{name=\"l\",value=\"$hex\"\}" \
-       "var-cmd.c" $line_subroutine1_body "continue to subroutine1"
+mi_continue_to "subroutine1"
 
 # Test: c_variable-2.10
 # Desc: create variable for locals i,l in subroutine1
@@ -535,21 +530,13 @@ mi_gdb_test "-var-delete l" \
 
 # Test whether we can follow the name of a variable through multiple
 # stack frames.
-mi_gdb_test "-break-insert do_special_tests" \
-  {\^done,bkpt=.*} \
-  "set breakpoint at do_special_tests"
-
-mi_continue_to {.*} do_special_tests {.*} {.*var-cmd.c} {.*} {stop in do_special_tests}
+mi_continue_to do_special_tests
 
 mi_gdb_test "-var-create selected_a @ a" \
   {\^done,name="selected_a",numchild="0",type="int"} \
   "create selected_a"
 
-mi_gdb_test "-break-insert incr_a" \
-  {\^done,bkpt=.*} \
-  "set breakpoint at incr_a"
-
-mi_continue_to {.*} incr_a {.*} {.*var-cmd.c} {.*} {stop in incr_a}
+mi_continue_to incr_a
 
 mi_gdb_test "-var-update selected_a" \
        "\\^done,changelist=\\\[\{name=\"selected_a\",in_scope=\"true\",new_type=\"char\",new_num_children=\"0\"\}\\\]" \
index 75f40394a559cea0ff77344455a69cd3da034665..975c8424f8cbb593725de84268c2bf251cb4da1b 100644 (file)
@@ -858,7 +858,7 @@ proc mi_run_to_main { } {
 #   -1  if test suppressed, failed, timedout
 #    0  if test passed
 
-proc mi_runto {func} {
+proc mi_runto_helper {func run_or_continue} {
   global suppress_flag
   if { $suppress_flag } {
     return -1
@@ -877,7 +877,11 @@ proc mi_runto {func} {
     set bkptno {[0-9]+}
   }
 
-  mi_run_cmd
+  if {$run_or_continue == "run"} {
+      mi_run_cmd
+  } else {
+    send_gdb "000-exec-continue\n"
+  }
   gdb_expect {
     -re ".*000\\*stopped,thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",fullname=\"${fullname_syntax}.*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" {
       pass "$test"
@@ -893,6 +897,9 @@ proc mi_runto {func} {
   }
 }
 
+proc mi_runto {func} {
+    mi_runto_helper $func "run"
+}
 
 # Next to the next statement
 # For return values, see mi_execute_to_helper
@@ -967,9 +974,8 @@ proc mi_finish_to { func args file line result ret test } {
        "$test"
 }
 
-proc mi_continue_to { bkptno func args file line test } {
-    mi_execute_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \
-       "$func" "$args" "$file" "$line" "" "$test"
+proc mi_continue_to {func} {
+    mi_runto_helper $func "continue"
 }
 
 proc mi0_execute_to { cmd reason func args file line extra test } {