* [RFA/MI testsuite] Add mi_runto
@ 2002-09-05 6:35 Keith Seitz
2002-09-09 19:31 ` Elena Zannoni
0 siblings, 1 reply; 9+ messages in thread
From: Keith Seitz @ 2002-09-05 6:35 UTC (permalink / raw)
To: gdb-patches
Hi,
This is a pretty simple patch which removes the guts of mi_run_to_main and
adds it all into a new mi_runto which does the same job as gdb's runto
procedure.
I've tested this on the testsuite and it causes no regressions.
Keith
ChangeLog
2002-09-05 Keith Seitz <keiths@redhat.com>
* lib/mi-support.exp (mi_runto): New proc. Does the same as gdb's
runto proc.
(mi_run_to_main): Use mi_runto.
Patch
Index: testsuite/lib/mi-support.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v
retrieving revision 1.15
diff -p -r1.15 mi-support.exp
*** testsuite/lib/mi-support.exp 4 Sep 2002 21:05:07 -0000 1.15
--- testsuite/lib/mi-support.exp 5 Sep 2002 13:33:07 -0000
*************** proc mi_run_to_main { } {
*** 621,657 ****
return -1
}
- global mi_gdb_prompt
- global hex
- global decimal
global srcdir
global subdir
global binfile
global srcfile
- set test "mi run-to-main"
mi_delete_breakpoints
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_load ${binfile}
! mi_gdb_test "200-break-insert main" \
! "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \
! "breakpoint at main"
!
! mi_run_cmd
! gdb_expect {
! -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"main\",args=\(\\\[\\\]\|\{\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" {
! pass "$test"
! return 0
! }
! -re ".*$mi_gdb_prompt$" {
! fail "$test (2)"
! }
! timeout {
! fail "$test (timeout)"
! return -1
! }
}
}
--- 621,679 ----
return -1
}
global srcdir
global subdir
global binfile
global srcfile
mi_delete_breakpoints
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_load ${binfile}
! mi_runto main
! }
!
!
! # Just like gdb's "runto" proc, it will run the target to a given
! # function.
! # FUNC is the linespec of the place to stop (it inserts a breakpoint here).
! # It returns:
! # -1 if test suppressed, failed, timedout
! # 0 if test passed
!
! proc mi_runto {func} {
! global suppress_flag
! if { $suppress_flag } {
! return -1
! }
!
! global mi_gdb_prompt expect_out
! global hex decimal
!
! set test "mi runto $func"
! mi_gdb_test "200-break-insert $func" \
! "200\\^done,bkpt=\{number=\"\[0-9\]+\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"$func\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \
! "breakpoint at $func"
!
! if {![regexp {number="[0-9]+"} $expect_out(buffer) str]
! || ![scan $str {number="%d"} bkptno]} {
! set bkptno {[0-9]+}
! }
!
! mi_run_cmd
! gdb_expect {
! -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" {
! pass "$test"
! return 0
! }
! -re ".*$mi_gdb_prompt$" {
! fail "$test (2)"
! }
! timeout {
! fail "$test (timeout)"
! return -1
}
+ }
}
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [RFA/MI testsuite] Add mi_runto 2002-09-05 6:35 [RFA/MI testsuite] Add mi_runto Keith Seitz @ 2002-09-09 19:31 ` Elena Zannoni 2002-09-10 7:31 ` Keith Seitz 0 siblings, 1 reply; 9+ messages in thread From: Elena Zannoni @ 2002-09-09 19:31 UTC (permalink / raw) To: Keith Seitz; +Cc: gdb-patches Keith Seitz writes: > Hi, > > This is a pretty simple patch which removes the guts of mi_run_to_main and > adds it all into a new mi_runto which does the same job as gdb's runto > procedure. > > I've tested this on the testsuite and it causes no regressions. > Keith > Same question as for the other patch. How does this interact with mi_run_to? Do we need both versions? It looks ok otherwise. Elena > ChangeLog > 2002-09-05 Keith Seitz <keiths@redhat.com> > > * lib/mi-support.exp (mi_runto): New proc. Does the same as gdb's > runto proc. > (mi_run_to_main): Use mi_runto. > > Patch > Index: testsuite/lib/mi-support.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v > retrieving revision 1.15 > diff -p -r1.15 mi-support.exp > *** testsuite/lib/mi-support.exp 4 Sep 2002 21:05:07 -0000 1.15 > --- testsuite/lib/mi-support.exp 5 Sep 2002 13:33:07 -0000 > *************** proc mi_run_to_main { } { > *** 621,657 **** > return -1 > } > > - global mi_gdb_prompt > - global hex > - global decimal > global srcdir > global subdir > global binfile > global srcfile > > - set test "mi run-to-main" > mi_delete_breakpoints > mi_gdb_reinitialize_dir $srcdir/$subdir > mi_gdb_load ${binfile} > > ! mi_gdb_test "200-break-insert main" \ > ! "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ > ! "breakpoint at main" > ! > ! mi_run_cmd > ! gdb_expect { > ! -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"main\",args=\(\\\[\\\]\|\{\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { > ! pass "$test" > ! return 0 > ! } > ! -re ".*$mi_gdb_prompt$" { > ! fail "$test (2)" > ! } > ! timeout { > ! fail "$test (timeout)" > ! return -1 > ! } > } > } > > > --- 621,679 ---- > return -1 > } > > global srcdir > global subdir > global binfile > global srcfile > > mi_delete_breakpoints > mi_gdb_reinitialize_dir $srcdir/$subdir > mi_gdb_load ${binfile} > > ! mi_runto main > ! } > ! > ! > ! # Just like gdb's "runto" proc, it will run the target to a given > ! # function. > ! # FUNC is the linespec of the place to stop (it inserts a breakpoint here). > ! # It returns: > ! # -1 if test suppressed, failed, timedout > ! # 0 if test passed > ! > ! proc mi_runto {func} { > ! global suppress_flag > ! if { $suppress_flag } { > ! return -1 > ! } > ! > ! global mi_gdb_prompt expect_out > ! global hex decimal > ! > ! set test "mi runto $func" > ! mi_gdb_test "200-break-insert $func" \ > ! "200\\^done,bkpt=\{number=\"\[0-9\]+\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"$func\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ > ! "breakpoint at $func" > ! > ! if {![regexp {number="[0-9]+"} $expect_out(buffer) str] > ! || ![scan $str {number="%d"} bkptno]} { > ! set bkptno {[0-9]+} > ! } > ! > ! mi_run_cmd > ! gdb_expect { > ! -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { > ! pass "$test" > ! return 0 > ! } > ! -re ".*$mi_gdb_prompt$" { > ! fail "$test (2)" > ! } > ! timeout { > ! fail "$test (timeout)" > ! return -1 > } > + } > } > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-09 19:31 ` Elena Zannoni @ 2002-09-10 7:31 ` Keith Seitz 2002-09-10 7:42 ` Elena Zannoni 0 siblings, 1 reply; 9+ messages in thread From: Keith Seitz @ 2002-09-10 7:31 UTC (permalink / raw) To: Elena Zannoni; +Cc: gdb-patches On Mon, 9 Sep 2002, Elena Zannoni wrote: > Same question as for the other patch. How does this interact with > mi_run_to? > Do we need both versions? Like mi_step/next_to, I think that I could have made a better decision to implement this in terms of mi_run_to_helper, but there is still one shortcoming, though: mi_run_to does not know how to start the target running, while mi_runto does. If you'd like I can rewrite both of these patches using mi_run_to procs. (I'll just assume that you'd like that and start on that. I don't really know right now what I was thinking when I rewrote this all again.) Keith ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-10 7:31 ` Keith Seitz @ 2002-09-10 7:42 ` Elena Zannoni 2002-09-10 7:49 ` Keith Seitz 0 siblings, 1 reply; 9+ messages in thread From: Elena Zannoni @ 2002-09-10 7:42 UTC (permalink / raw) To: Keith Seitz; +Cc: Elena Zannoni, gdb-patches Keith Seitz writes: > On Mon, 9 Sep 2002, Elena Zannoni wrote: > > > Same question as for the other patch. How does this interact with > > mi_run_to? > > Do we need both versions? > > Like mi_step/next_to, I think that I could have made a better decision to > implement this in terms of mi_run_to_helper, but there is still one > shortcoming, though: mi_run_to does not know how to start the target > running, while mi_runto does. > > If you'd like I can rewrite both of these patches using mi_run_to procs. > (I'll just assume that you'd like that and start on that. I don't really > know right now what I was thinking when I rewrote this all again.) > > Keith > Yes, please. Thanks. It will be easier to maintain if we have only one copy of these functions. Elena ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-10 7:42 ` Elena Zannoni @ 2002-09-10 7:49 ` Keith Seitz 2002-09-10 14:58 ` Elena Zannoni 0 siblings, 1 reply; 9+ messages in thread From: Keith Seitz @ 2002-09-10 7:49 UTC (permalink / raw) To: Elena Zannoni; +Cc: gdb-patches On Tue, 10 Sep 2002, Elena Zannoni wrote: > Yes, please. Thanks. It will be easier to maintain if we have only one > copy of these functions. UGH. Now I remember why I did this... mi_run_to_helper expects an MI command to execute, either "exec-continue" or "exec-run". There is no way for us to know this if we are attempting to run the inferior for the first time (or re-run it). This is usually handled by mi_run_cmd, and that is the difference between these to functions. They are essentially the same, otherwise. The best I can do is put the mi_gdb_test for the stop in anohter proc, but I think that would just mess the code up even more. (mi_step and mi_next are okay, though). Of course, it's your call. Keith ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-10 7:49 ` Keith Seitz @ 2002-09-10 14:58 ` Elena Zannoni 2002-09-10 15:22 ` Keith Seitz 0 siblings, 1 reply; 9+ messages in thread From: Elena Zannoni @ 2002-09-10 14:58 UTC (permalink / raw) To: Keith Seitz; +Cc: Elena Zannoni, gdb-patches Keith Seitz writes: > On Tue, 10 Sep 2002, Elena Zannoni wrote: > > > Yes, please. Thanks. It will be easier to maintain if we have only one > > copy of these functions. > > UGH. Now I remember why I did this... mi_run_to_helper expects an MI > command to execute, either "exec-continue" or "exec-run". There is no way > for us to know this if we are attempting to run the inferior for the first > time (or re-run it). This is usually handled by mi_run_cmd, and that is > the difference between these to functions. They are essentially the same, > otherwise. The best I can do is put the mi_gdb_test for the stop in > anohter proc, but I think that would just mess the code up even more. > (mi_step and mi_next are okay, though). > > Of course, it's your call. > Keith > Oh ok. mi_run_to executes an inferior that has already started. While mi_runto starts it from scratch. Could we rename mi_run_to to something like mi_execute_to instead? It is used only in mi-var-cmd.exp. And add your paragraph above in mi-support.exp as a comment? Elena ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-10 14:58 ` Elena Zannoni @ 2002-09-10 15:22 ` Keith Seitz 2002-09-10 15:25 ` Elena Zannoni 0 siblings, 1 reply; 9+ messages in thread From: Keith Seitz @ 2002-09-10 15:22 UTC (permalink / raw) To: Elena Zannoni; +Cc: gdb-patches On Tue, 10 Sep 2002, Elena Zannoni wrote: > Oh ok. mi_run_to executes an inferior that has already started. > While mi_runto starts it from scratch. > > Could we rename mi_run_to to something like mi_execute_to instead? > It is used only in mi-var-cmd.exp. Sure. > And add your paragraph above in mi-support.exp as a comment? Done. How's this? (I've run all this on linux native, and it shows no regressions.) Keith testsuite/ChangeLog 2002-09-10 Keith Seitz <keiths@redhat.com> * lib/mi-support.exp (mi_runto): New proc. Does the same as gdb's runto proc. (mi_run_to_main): Use mi_runto. (mi_execute_to): Renamed from mi_run_to. Changed all callers. testsuite/gdb.mi/ChangeLog 2002-09-10 Keith Seitz <keiths@redhat.com> * mi-simplerun.exp (test_controlled_execution): Follow renaming of mi_run_to to mi_execute_to. * mi-var-cmd.exp: Likewise. * mi0-simplerun.exp: Likewise. * mi0-var-cmd.exp: Likewise. Patches Index: testsuite/lib/mi-support.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v retrieving revision 1.16 diff -p -r1.16 mi-support.exp *** testsuite/lib/mi-support.exp 10 Sep 2002 22:07:58 -0000 1.16 --- testsuite/lib/mi-support.exp 10 Sep 2002 22:17:52 -0000 *************** proc mi_run_to_main { } { *** 621,662 **** return -1 } - global mi_gdb_prompt - global hex - global decimal global srcdir global subdir global binfile global srcfile - set test "mi run-to-main" mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} ! mi_gdb_test "200-break-insert main" \ ! "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ ! "breakpoint at main" ! mi_run_cmd ! gdb_expect { ! -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"main\",args=\(\\\[\\\]\|\{\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { ! pass "$test" ! return 0 ! } ! -re ".*$mi_gdb_prompt$" { ! fail "$test (2)" ! } ! timeout { ! fail "$test (timeout)" ! return -1 ! } } } # Next to the next statement ! # For return values, see mi_run_to_helper proc mi_next { test } { return [mi_next_to {.*} {.*} {.*} {.*} $test] --- 621,687 ---- return -1 } global srcdir global subdir global binfile global srcfile mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} ! mi_runto main ! } ! ! # Just like gdb's "runto" proc, it will run the target to a given ! # function. The big difference here between mi_runto and mi_execute_to ! # is that mi_execute_to must have the inferior running already. This ! # proc will (like gdb's runto) (re)start the inferior, too. ! # ! # FUNC is the linespec of the place to stop (it inserts a breakpoint here). ! # It returns: ! # -1 if test suppressed, failed, timedout ! # 0 if test passed ! ! proc mi_runto {func} { ! global suppress_flag ! if { $suppress_flag } { ! return -1 ! } ! ! global mi_gdb_prompt expect_out ! global hex decimal ! ! set test "mi runto $func" ! mi_gdb_test "200-break-insert $func" \ ! "200\\^done,bkpt=\{number=\"\[0-9\]+\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"$func\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ ! "breakpoint at $func" ! ! if {![regexp {number="[0-9]+"} $expect_out(buffer) str] ! || ![scan $str {number="%d"} bkptno]} { ! set bkptno {[0-9]+} ! } ! ! mi_run_cmd ! gdb_expect { ! -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { ! pass "$test" ! return 0 ! } ! -re ".*$mi_gdb_prompt$" { ! fail "$test (2)" ! } ! timeout { ! fail "$test (timeout)" ! return -1 } + } } # Next to the next statement ! # For return values, see mi_execute_to_helper proc mi_next { test } { return [mi_next_to {.*} {.*} {.*} {.*} $test] *************** proc mi_next { test } { *** 664,670 **** # Step to the next statement ! # For return values, see mi_run_to_helper proc mi_step { test } { return [mi_step_to {.*} {.*} {.*} {.*} $test] --- 689,695 ---- # Step to the next statement ! # For return values, see mi_execute_to_helper proc mi_step { test } { return [mi_step_to {.*} {.*} {.*} {.*} $test] *************** proc mi_step { test } { *** 676,682 **** # Can not match -re ".*\r\n${mi_gdb_prompt}", because of false positives # after the first prompt is printed. ! proc mi_run_to_helper { cmd reason func args file line extra test } { global suppress_flag if { $suppress_flag } { return -1 --- 701,707 ---- # Can not match -re ".*\r\n${mi_gdb_prompt}", because of false positives # after the first prompt is printed. ! proc mi_execute_to_helper { cmd reason func args file line extra test } { global suppress_flag if { $suppress_flag } { return -1 *************** proc mi_run_to_helper { cmd reason func *** 705,760 **** } } ! proc mi_run_to { cmd reason func args file line extra test } { ! mi_run_to_helper "$cmd" "$reason" "$func" "\\\[$args\\\]" \ "$file" "$line" "$extra" "$test" } proc mi_next_to { func args file line test } { ! mi_run_to "exec-next" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi_step_to { func args file line test } { ! mi_run_to "exec-step" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi_finish_to { func args file line result ret test } { ! mi_run_to "exec-finish" "function-finished" "$func" "$args" \ "$file" "$line" \ ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ "$test" } proc mi_continue_to { bkptno func args file line test } { ! mi_run_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ "$func" "$args" "$file" "$line" "" "$test" } ! proc mi0_run_to { cmd reason func args file line extra test } { ! mi_run_to_helper "$cmd" "$reason" "$func" "\{$args\}" \ "$file" "$line" "$extra" "$test" } proc mi0_next_to { func args file line test } { ! mi0_run_to "exec-next" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi0_step_to { func args file line test } { ! mi0_run_to "exec-step" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi0_finish_to { func args file line result ret test } { ! mi0_run_to "exec-finish" "function-finished" "$func" "$args" \ "$file" "$line" \ ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ "$test" } proc mi0_continue_to { bkptno func args file line test } { ! mi0_run_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ "$func" "$args" "$file" "$line" "" "$test" } --- 730,785 ---- } } ! proc mi_execute_to { cmd reason func args file line extra test } { ! mi_execute_to_helper "$cmd" "$reason" "$func" "\\\[$args\\\]" \ "$file" "$line" "$extra" "$test" } proc mi_next_to { func args file line test } { ! mi_execute_to "exec-next" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi_step_to { func args file line test } { ! mi_execute_to "exec-step" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi_finish_to { func args file line result ret test } { ! mi_execute_to "exec-finish" "function-finished" "$func" "$args" \ "$file" "$line" \ ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ "$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 mi0_execute_to { cmd reason func args file line extra test } { ! mi_execute_to_helper "$cmd" "$reason" "$func" "\{$args\}" \ "$file" "$line" "$extra" "$test" } proc mi0_next_to { func args file line test } { ! mi0_execute_to "exec-next" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi0_step_to { func args file line test } { ! mi0_execute_to "exec-step" "end-stepping-range" "$func" "$args" \ "$file" "$line" "" "$test" } proc mi0_finish_to { func args file line result ret test } { ! mi0_execute_to "exec-finish" "function-finished" "$func" "$args" \ "$file" "$line" \ ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ "$test" } proc mi0_continue_to { bkptno func args file line test } { ! mi0_execute_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ "$func" "$args" "$file" "$line" "" "$test" } Index: testsuite/gdb.mi/mi-simplerun.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-simplerun.exp,v retrieving revision 1.9 diff -p -r1.9 mi-simplerun.exp *** testsuite/gdb.mi/mi-simplerun.exp 11 Nov 2001 20:11:03 -0000 1.9 --- testsuite/gdb.mi/mi-simplerun.exp 10 Sep 2002 22:18:15 -0000 *************** proc test_controlled_execution {} { *** 140,146 **** # FIXME: A string argument is not printed right; should be fixed and # we should look for the right thing here. ! mi_run_to "exec-step 3" "end-stepping-range" "callee4" "" \ "basics.c" "8" "" "step to callee4" # FIXME: A string argument is not printed right; should be fixed and --- 140,146 ---- # FIXME: A string argument is not printed right; should be fixed and # we should look for the right thing here. ! mi_execute_to "exec-step 3" "end-stepping-range" "callee4" "" \ "basics.c" "8" "" "step to callee4" # FIXME: A string argument is not printed right; should be fixed and Index: testsuite/gdb.mi/mi-var-cmd.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-cmd.exp,v retrieving revision 1.9 diff -p -r1.9 mi-var-cmd.exp *** testsuite/gdb.mi/mi-var-cmd.exp 5 Mar 2002 19:48:17 -0000 1.9 --- testsuite/gdb.mi/mi-var-cmd.exp 10 Sep 2002 22:18:30 -0000 *************** mi_gdb_test "-var-update *" \ *** 227,233 **** # lsimple.unsigned_integer = 255; # lsimple.character = 'a'; ! mi_run_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "119" "" "step at do_locals_tests (5)" # Test: c_variable-2.6 --- 227,233 ---- # lsimple.unsigned_integer = 255; # lsimple.character = 'a'; ! mi_execute_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "119" "" "step at do_locals_tests (5)" # Test: c_variable-2.6 *************** mi_gdb_test "-var-update *" \ *** 243,249 **** # lpsimple = &lsimple; # func = nothing; ! mi_run_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "125" "" "step at do_locals_tests (6)" # Test: c_variable-2.7 --- 243,249 ---- # lpsimple = &lsimple; # func = nothing; ! mi_execute_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "125" "" "step at do_locals_tests (6)" # Test: c_variable-2.7 *************** mi_gdb_test "-var-update *" \ *** 262,268 **** # lsimple.unsigned_integer = 4321; # lsimple.character = 'b'; ! mi_run_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "133" "" "step at do_locals_tests (7)" # Test: c_variable-2.8 --- 262,268 ---- # lsimple.unsigned_integer = 4321; # lsimple.character = 'b'; ! mi_execute_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "133" "" "step at do_locals_tests (7)" # Test: c_variable-2.8 Index: testsuite/gdb.mi/mi0-simplerun.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi0-simplerun.exp,v retrieving revision 1.6 diff -p -r1.6 mi0-simplerun.exp *** testsuite/gdb.mi/mi0-simplerun.exp 11 Nov 2001 20:11:03 -0000 1.6 --- testsuite/gdb.mi/mi0-simplerun.exp 10 Sep 2002 22:21:40 -0000 *************** proc test_controlled_execution {} { *** 142,148 **** # FIXME: A string argument is not printed right; should be fixed and # we should look for the right thing here. ! mi0_run_to "exec-step 3" "end-stepping-range" "callee4" "" \ "basics.c" "8" "" "step to callee4" # FIXME: A string argument is not printed right; should be fixed and --- 142,148 ---- # FIXME: A string argument is not printed right; should be fixed and # we should look for the right thing here. ! mi0_execute_to "exec-step 3" "end-stepping-range" "callee4" "" \ "basics.c" "8" "" "step to callee4" # FIXME: A string argument is not printed right; should be fixed and Index: testsuite/gdb.mi/mi0-var-cmd.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi0-var-cmd.exp,v retrieving revision 1.7 diff -p -r1.7 mi0-var-cmd.exp *** testsuite/gdb.mi/mi0-var-cmd.exp 5 Mar 2002 19:48:18 -0000 1.7 --- testsuite/gdb.mi/mi0-var-cmd.exp 10 Sep 2002 22:21:51 -0000 *************** mi_gdb_test "-var-update *" \ *** 227,233 **** # lsimple.unsigned_integer = 255; # lsimple.character = 'a'; ! mi0_run_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "119" "" "step at do_locals_tests (5)" # Test: c_variable-2.6 --- 227,233 ---- # lsimple.unsigned_integer = 255; # lsimple.character = 'a'; ! mi0_execute_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "119" "" "step at do_locals_tests (5)" # Test: c_variable-2.6 *************** mi_gdb_test "-var-update *" \ *** 243,249 **** # lpsimple = &lsimple; # func = nothing; ! mi0_run_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "125" "" "step at do_locals_tests (6)" # Test: c_variable-2.7 --- 243,249 ---- # lpsimple = &lsimple; # func = nothing; ! mi0_execute_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "125" "" "step at do_locals_tests (6)" # Test: c_variable-2.7 *************** mi_gdb_test "-var-update *" \ *** 262,268 **** # lsimple.unsigned_integer = 4321; # lsimple.character = 'b'; ! mi0_run_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "133" "" "step at do_locals_tests (7)" # Test: c_variable-2.8 --- 262,268 ---- # lsimple.unsigned_integer = 4321; # lsimple.character = 'b'; ! mi0_execute_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ "var-cmd.c" "133" "" "step at do_locals_tests (7)" # Test: c_variable-2.8 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-10 15:22 ` Keith Seitz @ 2002-09-10 15:25 ` Elena Zannoni 2002-09-10 15:30 ` Keith Seitz 0 siblings, 1 reply; 9+ messages in thread From: Elena Zannoni @ 2002-09-10 15:25 UTC (permalink / raw) To: Keith Seitz; +Cc: Elena Zannoni, gdb-patches Keith Seitz writes: > On Tue, 10 Sep 2002, Elena Zannoni wrote: > > > Oh ok. mi_run_to executes an inferior that has already started. > > While mi_runto starts it from scratch. > > > > Could we rename mi_run_to to something like mi_execute_to instead? > > It is used only in mi-var-cmd.exp. > > Sure. > > > And add your paragraph above in mi-support.exp as a comment? > > Done. > > How's this? (I've run all this on linux native, and it shows no > regressions.) > Super. thanks Elena > Keith > > testsuite/ChangeLog > 2002-09-10 Keith Seitz <keiths@redhat.com> > > * lib/mi-support.exp (mi_runto): New proc. Does the same as gdb's > runto proc. > (mi_run_to_main): Use mi_runto. > (mi_execute_to): Renamed from mi_run_to. Changed all callers. > > > testsuite/gdb.mi/ChangeLog > 2002-09-10 Keith Seitz <keiths@redhat.com> > > * mi-simplerun.exp (test_controlled_execution): Follow renaming of > mi_run_to to mi_execute_to. > * mi-var-cmd.exp: Likewise. > * mi0-simplerun.exp: Likewise. > * mi0-var-cmd.exp: Likewise. > > Patches > Index: testsuite/lib/mi-support.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v > retrieving revision 1.16 > diff -p -r1.16 mi-support.exp > *** testsuite/lib/mi-support.exp 10 Sep 2002 22:07:58 -0000 1.16 > --- testsuite/lib/mi-support.exp 10 Sep 2002 22:17:52 -0000 > *************** proc mi_run_to_main { } { > *** 621,662 **** > return -1 > } > > - global mi_gdb_prompt > - global hex > - global decimal > global srcdir > global subdir > global binfile > global srcfile > > - set test "mi run-to-main" > mi_delete_breakpoints > mi_gdb_reinitialize_dir $srcdir/$subdir > mi_gdb_load ${binfile} > > ! mi_gdb_test "200-break-insert main" \ > ! "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ > ! "breakpoint at main" > > ! mi_run_cmd > ! gdb_expect { > ! -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"main\",args=\(\\\[\\\]\|\{\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { > ! pass "$test" > ! return 0 > ! } > ! -re ".*$mi_gdb_prompt$" { > ! fail "$test (2)" > ! } > ! timeout { > ! fail "$test (timeout)" > ! return -1 > ! } > } > } > > > # Next to the next statement > ! # For return values, see mi_run_to_helper > > proc mi_next { test } { > return [mi_next_to {.*} {.*} {.*} {.*} $test] > --- 621,687 ---- > return -1 > } > > global srcdir > global subdir > global binfile > global srcfile > > mi_delete_breakpoints > mi_gdb_reinitialize_dir $srcdir/$subdir > mi_gdb_load ${binfile} > > ! mi_runto main > ! } > > ! > ! # Just like gdb's "runto" proc, it will run the target to a given > ! # function. The big difference here between mi_runto and mi_execute_to > ! # is that mi_execute_to must have the inferior running already. This > ! # proc will (like gdb's runto) (re)start the inferior, too. > ! # > ! # FUNC is the linespec of the place to stop (it inserts a breakpoint here). > ! # It returns: > ! # -1 if test suppressed, failed, timedout > ! # 0 if test passed > ! > ! proc mi_runto {func} { > ! global suppress_flag > ! if { $suppress_flag } { > ! return -1 > ! } > ! > ! global mi_gdb_prompt expect_out > ! global hex decimal > ! > ! set test "mi runto $func" > ! mi_gdb_test "200-break-insert $func" \ > ! "200\\^done,bkpt=\{number=\"\[0-9\]+\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"$func\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ > ! "breakpoint at $func" > ! > ! if {![regexp {number="[0-9]+"} $expect_out(buffer) str] > ! || ![scan $str {number="%d"} bkptno]} { > ! set bkptno {[0-9]+} > ! } > ! > ! mi_run_cmd > ! gdb_expect { > ! -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { > ! pass "$test" > ! return 0 > ! } > ! -re ".*$mi_gdb_prompt$" { > ! fail "$test (2)" > ! } > ! timeout { > ! fail "$test (timeout)" > ! return -1 > } > + } > } > > > # Next to the next statement > ! # For return values, see mi_execute_to_helper > > proc mi_next { test } { > return [mi_next_to {.*} {.*} {.*} {.*} $test] > *************** proc mi_next { test } { > *** 664,670 **** > > > # Step to the next statement > ! # For return values, see mi_run_to_helper > > proc mi_step { test } { > return [mi_step_to {.*} {.*} {.*} {.*} $test] > --- 689,695 ---- > > > # Step to the next statement > ! # For return values, see mi_execute_to_helper > > proc mi_step { test } { > return [mi_step_to {.*} {.*} {.*} {.*} $test] > *************** proc mi_step { test } { > *** 676,682 **** > # Can not match -re ".*\r\n${mi_gdb_prompt}", because of false positives > # after the first prompt is printed. > > ! proc mi_run_to_helper { cmd reason func args file line extra test } { > global suppress_flag > if { $suppress_flag } { > return -1 > --- 701,707 ---- > # Can not match -re ".*\r\n${mi_gdb_prompt}", because of false positives > # after the first prompt is printed. > > ! proc mi_execute_to_helper { cmd reason func args file line extra test } { > global suppress_flag > if { $suppress_flag } { > return -1 > *************** proc mi_run_to_helper { cmd reason func > *** 705,760 **** > } > } > > ! proc mi_run_to { cmd reason func args file line extra test } { > ! mi_run_to_helper "$cmd" "$reason" "$func" "\\\[$args\\\]" \ > "$file" "$line" "$extra" "$test" > } > > proc mi_next_to { func args file line test } { > ! mi_run_to "exec-next" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi_step_to { func args file line test } { > ! mi_run_to "exec-step" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi_finish_to { func args file line result ret test } { > ! mi_run_to "exec-finish" "function-finished" "$func" "$args" \ > "$file" "$line" \ > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > "$test" > } > > proc mi_continue_to { bkptno func args file line test } { > ! mi_run_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ > "$func" "$args" "$file" "$line" "" "$test" > } > > ! proc mi0_run_to { cmd reason func args file line extra test } { > ! mi_run_to_helper "$cmd" "$reason" "$func" "\{$args\}" \ > "$file" "$line" "$extra" "$test" > } > > proc mi0_next_to { func args file line test } { > ! mi0_run_to "exec-next" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi0_step_to { func args file line test } { > ! mi0_run_to "exec-step" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi0_finish_to { func args file line result ret test } { > ! mi0_run_to "exec-finish" "function-finished" "$func" "$args" \ > "$file" "$line" \ > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > "$test" > } > > proc mi0_continue_to { bkptno func args file line test } { > ! mi0_run_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ > "$func" "$args" "$file" "$line" "" "$test" > } > --- 730,785 ---- > } > } > > ! proc mi_execute_to { cmd reason func args file line extra test } { > ! mi_execute_to_helper "$cmd" "$reason" "$func" "\\\[$args\\\]" \ > "$file" "$line" "$extra" "$test" > } > > proc mi_next_to { func args file line test } { > ! mi_execute_to "exec-next" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi_step_to { func args file line test } { > ! mi_execute_to "exec-step" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi_finish_to { func args file line result ret test } { > ! mi_execute_to "exec-finish" "function-finished" "$func" "$args" \ > "$file" "$line" \ > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > "$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 mi0_execute_to { cmd reason func args file line extra test } { > ! mi_execute_to_helper "$cmd" "$reason" "$func" "\{$args\}" \ > "$file" "$line" "$extra" "$test" > } > > proc mi0_next_to { func args file line test } { > ! mi0_execute_to "exec-next" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi0_step_to { func args file line test } { > ! mi0_execute_to "exec-step" "end-stepping-range" "$func" "$args" \ > "$file" "$line" "" "$test" > } > > proc mi0_finish_to { func args file line result ret test } { > ! mi0_execute_to "exec-finish" "function-finished" "$func" "$args" \ > "$file" "$line" \ > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > "$test" > } > > proc mi0_continue_to { bkptno func args file line test } { > ! mi0_execute_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ > "$func" "$args" "$file" "$line" "" "$test" > } > Index: testsuite/gdb.mi/mi-simplerun.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-simplerun.exp,v > retrieving revision 1.9 > diff -p -r1.9 mi-simplerun.exp > *** testsuite/gdb.mi/mi-simplerun.exp 11 Nov 2001 20:11:03 -0000 1.9 > --- testsuite/gdb.mi/mi-simplerun.exp 10 Sep 2002 22:18:15 -0000 > *************** proc test_controlled_execution {} { > *** 140,146 **** > > # FIXME: A string argument is not printed right; should be fixed and > # we should look for the right thing here. > ! mi_run_to "exec-step 3" "end-stepping-range" "callee4" "" \ > "basics.c" "8" "" "step to callee4" > > # FIXME: A string argument is not printed right; should be fixed and > --- 140,146 ---- > > # FIXME: A string argument is not printed right; should be fixed and > # we should look for the right thing here. > ! mi_execute_to "exec-step 3" "end-stepping-range" "callee4" "" \ > "basics.c" "8" "" "step to callee4" > > # FIXME: A string argument is not printed right; should be fixed and > Index: testsuite/gdb.mi/mi-var-cmd.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-cmd.exp,v > retrieving revision 1.9 > diff -p -r1.9 mi-var-cmd.exp > *** testsuite/gdb.mi/mi-var-cmd.exp 5 Mar 2002 19:48:17 -0000 1.9 > --- testsuite/gdb.mi/mi-var-cmd.exp 10 Sep 2002 22:18:30 -0000 > *************** mi_gdb_test "-var-update *" \ > *** 227,233 **** > # lsimple.unsigned_integer = 255; > # lsimple.character = 'a'; > > ! mi_run_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > # Test: c_variable-2.6 > --- 227,233 ---- > # lsimple.unsigned_integer = 255; > # lsimple.character = 'a'; > > ! mi_execute_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > # Test: c_variable-2.6 > *************** mi_gdb_test "-var-update *" \ > *** 243,249 **** > # lpsimple = &lsimple; > # func = nothing; > > ! mi_run_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > # Test: c_variable-2.7 > --- 243,249 ---- > # lpsimple = &lsimple; > # func = nothing; > > ! mi_execute_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > # Test: c_variable-2.7 > *************** mi_gdb_test "-var-update *" \ > *** 262,268 **** > # lsimple.unsigned_integer = 4321; > # lsimple.character = 'b'; > > ! mi_run_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > # Test: c_variable-2.8 > --- 262,268 ---- > # lsimple.unsigned_integer = 4321; > # lsimple.character = 'b'; > > ! mi_execute_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > # Test: c_variable-2.8 > Index: testsuite/gdb.mi/mi0-simplerun.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi0-simplerun.exp,v > retrieving revision 1.6 > diff -p -r1.6 mi0-simplerun.exp > *** testsuite/gdb.mi/mi0-simplerun.exp 11 Nov 2001 20:11:03 -0000 1.6 > --- testsuite/gdb.mi/mi0-simplerun.exp 10 Sep 2002 22:21:40 -0000 > *************** proc test_controlled_execution {} { > *** 142,148 **** > > # FIXME: A string argument is not printed right; should be fixed and > # we should look for the right thing here. > ! mi0_run_to "exec-step 3" "end-stepping-range" "callee4" "" \ > "basics.c" "8" "" "step to callee4" > > # FIXME: A string argument is not printed right; should be fixed and > --- 142,148 ---- > > # FIXME: A string argument is not printed right; should be fixed and > # we should look for the right thing here. > ! mi0_execute_to "exec-step 3" "end-stepping-range" "callee4" "" \ > "basics.c" "8" "" "step to callee4" > > # FIXME: A string argument is not printed right; should be fixed and > Index: testsuite/gdb.mi/mi0-var-cmd.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi0-var-cmd.exp,v > retrieving revision 1.7 > diff -p -r1.7 mi0-var-cmd.exp > *** testsuite/gdb.mi/mi0-var-cmd.exp 5 Mar 2002 19:48:18 -0000 1.7 > --- testsuite/gdb.mi/mi0-var-cmd.exp 10 Sep 2002 22:21:51 -0000 > *************** mi_gdb_test "-var-update *" \ > *** 227,233 **** > # lsimple.unsigned_integer = 255; > # lsimple.character = 'a'; > > ! mi0_run_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > # Test: c_variable-2.6 > --- 227,233 ---- > # lsimple.unsigned_integer = 255; > # lsimple.character = 'a'; > > ! mi0_execute_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > # Test: c_variable-2.6 > *************** mi_gdb_test "-var-update *" \ > *** 243,249 **** > # lpsimple = &lsimple; > # func = nothing; > > ! mi0_run_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > # Test: c_variable-2.7 > --- 243,249 ---- > # lpsimple = &lsimple; > # func = nothing; > > ! mi0_execute_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > # Test: c_variable-2.7 > *************** mi_gdb_test "-var-update *" \ > *** 262,268 **** > # lsimple.unsigned_integer = 4321; > # lsimple.character = 'b'; > > ! mi0_run_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > # Test: c_variable-2.8 > --- 262,268 ---- > # lsimple.unsigned_integer = 4321; > # lsimple.character = 'b'; > > ! mi0_execute_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > # Test: c_variable-2.8 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFA/MI testsuite] Add mi_runto 2002-09-10 15:25 ` Elena Zannoni @ 2002-09-10 15:30 ` Keith Seitz 0 siblings, 0 replies; 9+ messages in thread From: Keith Seitz @ 2002-09-10 15:30 UTC (permalink / raw) To: gdb-patches On Tue, 10 Sep 2002, Elena Zannoni wrote: > Super. Committed. Thank you! Keith > > testsuite/ChangeLog > > 2002-09-10 Keith Seitz <keiths@redhat.com> > > > > * lib/mi-support.exp (mi_runto): New proc. Does the same as gdb's > > runto proc. > > (mi_run_to_main): Use mi_runto. > > (mi_execute_to): Renamed from mi_run_to. Changed all callers. > > > > > > testsuite/gdb.mi/ChangeLog > > 2002-09-10 Keith Seitz <keiths@redhat.com> > > > > * mi-simplerun.exp (test_controlled_execution): Follow renaming of > > mi_run_to to mi_execute_to. > > * mi-var-cmd.exp: Likewise. > > * mi0-simplerun.exp: Likewise. > > * mi0-var-cmd.exp: Likewise. > > > > Patches > > Index: testsuite/lib/mi-support.exp > > =================================================================== > > RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v > > retrieving revision 1.16 > > diff -p -r1.16 mi-support.exp > > *** testsuite/lib/mi-support.exp 10 Sep 2002 22:07:58 -0000 1.16 > > --- testsuite/lib/mi-support.exp 10 Sep 2002 22:17:52 -0000 > > *************** proc mi_run_to_main { } { > > *** 621,662 **** > > return -1 > > } > > > > - global mi_gdb_prompt > > - global hex > > - global decimal > > global srcdir > > global subdir > > global binfile > > global srcfile > > > > - set test "mi run-to-main" > > mi_delete_breakpoints > > mi_gdb_reinitialize_dir $srcdir/$subdir > > mi_gdb_load ${binfile} > > > > ! mi_gdb_test "200-break-insert main" \ > > ! "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ > > ! "breakpoint at main" > > > > ! mi_run_cmd > > ! gdb_expect { > > ! -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"main\",args=\(\\\[\\\]\|\{\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { > > ! pass "$test" > > ! return 0 > > ! } > > ! -re ".*$mi_gdb_prompt$" { > > ! fail "$test (2)" > > ! } > > ! timeout { > > ! fail "$test (timeout)" > > ! return -1 > > ! } > > } > > } > > > > > > # Next to the next statement > > ! # For return values, see mi_run_to_helper > > > > proc mi_next { test } { > > return [mi_next_to {.*} {.*} {.*} {.*} $test] > > --- 621,687 ---- > > return -1 > > } > > > > global srcdir > > global subdir > > global binfile > > global srcfile > > > > mi_delete_breakpoints > > mi_gdb_reinitialize_dir $srcdir/$subdir > > mi_gdb_load ${binfile} > > > > ! mi_runto main > > ! } > > > > ! > > ! # Just like gdb's "runto" proc, it will run the target to a given > > ! # function. The big difference here between mi_runto and mi_execute_to > > ! # is that mi_execute_to must have the inferior running already. This > > ! # proc will (like gdb's runto) (re)start the inferior, too. > > ! # > > ! # FUNC is the linespec of the place to stop (it inserts a breakpoint here). > > ! # It returns: > > ! # -1 if test suppressed, failed, timedout > > ! # 0 if test passed > > ! > > ! proc mi_runto {func} { > > ! global suppress_flag > > ! if { $suppress_flag } { > > ! return -1 > > ! } > > ! > > ! global mi_gdb_prompt expect_out > > ! global hex decimal > > ! > > ! set test "mi runto $func" > > ! mi_gdb_test "200-break-insert $func" \ > > ! "200\\^done,bkpt=\{number=\"\[0-9\]+\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"$func\",file=\".*\",line=\"\[0-9\]*\",times=\"0\"\}" \ > > ! "breakpoint at $func" > > ! > > ! if {![regexp {number="[0-9]+"} $expect_out(buffer) str] > > ! || ![scan $str {number="%d"} bkptno]} { > > ! set bkptno {[0-9]+} > > ! } > > ! > > ! mi_run_cmd > > ! gdb_expect { > > ! -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { > > ! pass "$test" > > ! return 0 > > ! } > > ! -re ".*$mi_gdb_prompt$" { > > ! fail "$test (2)" > > ! } > > ! timeout { > > ! fail "$test (timeout)" > > ! return -1 > > } > > + } > > } > > > > > > # Next to the next statement > > ! # For return values, see mi_execute_to_helper > > > > proc mi_next { test } { > > return [mi_next_to {.*} {.*} {.*} {.*} $test] > > *************** proc mi_next { test } { > > *** 664,670 **** > > > > > > # Step to the next statement > > ! # For return values, see mi_run_to_helper > > > > proc mi_step { test } { > > return [mi_step_to {.*} {.*} {.*} {.*} $test] > > --- 689,695 ---- > > > > > > # Step to the next statement > > ! # For return values, see mi_execute_to_helper > > > > proc mi_step { test } { > > return [mi_step_to {.*} {.*} {.*} {.*} $test] > > *************** proc mi_step { test } { > > *** 676,682 **** > > # Can not match -re ".*\r\n${mi_gdb_prompt}", because of false positives > > # after the first prompt is printed. > > > > ! proc mi_run_to_helper { cmd reason func args file line extra test } { > > global suppress_flag > > if { $suppress_flag } { > > return -1 > > --- 701,707 ---- > > # Can not match -re ".*\r\n${mi_gdb_prompt}", because of false positives > > # after the first prompt is printed. > > > > ! proc mi_execute_to_helper { cmd reason func args file line extra test } { > > global suppress_flag > > if { $suppress_flag } { > > return -1 > > *************** proc mi_run_to_helper { cmd reason func > > *** 705,760 **** > > } > > } > > > > ! proc mi_run_to { cmd reason func args file line extra test } { > > ! mi_run_to_helper "$cmd" "$reason" "$func" "\\\[$args\\\]" \ > > "$file" "$line" "$extra" "$test" > > } > > > > proc mi_next_to { func args file line test } { > > ! mi_run_to "exec-next" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi_step_to { func args file line test } { > > ! mi_run_to "exec-step" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi_finish_to { func args file line result ret test } { > > ! mi_run_to "exec-finish" "function-finished" "$func" "$args" \ > > "$file" "$line" \ > > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > > "$test" > > } > > > > proc mi_continue_to { bkptno func args file line test } { > > ! mi_run_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ > > "$func" "$args" "$file" "$line" "" "$test" > > } > > > > ! proc mi0_run_to { cmd reason func args file line extra test } { > > ! mi_run_to_helper "$cmd" "$reason" "$func" "\{$args\}" \ > > "$file" "$line" "$extra" "$test" > > } > > > > proc mi0_next_to { func args file line test } { > > ! mi0_run_to "exec-next" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi0_step_to { func args file line test } { > > ! mi0_run_to "exec-step" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi0_finish_to { func args file line result ret test } { > > ! mi0_run_to "exec-finish" "function-finished" "$func" "$args" \ > > "$file" "$line" \ > > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > > "$test" > > } > > > > proc mi0_continue_to { bkptno func args file line test } { > > ! mi0_run_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ > > "$func" "$args" "$file" "$line" "" "$test" > > } > > --- 730,785 ---- > > } > > } > > > > ! proc mi_execute_to { cmd reason func args file line extra test } { > > ! mi_execute_to_helper "$cmd" "$reason" "$func" "\\\[$args\\\]" \ > > "$file" "$line" "$extra" "$test" > > } > > > > proc mi_next_to { func args file line test } { > > ! mi_execute_to "exec-next" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi_step_to { func args file line test } { > > ! mi_execute_to "exec-step" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi_finish_to { func args file line result ret test } { > > ! mi_execute_to "exec-finish" "function-finished" "$func" "$args" \ > > "$file" "$line" \ > > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > > "$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 mi0_execute_to { cmd reason func args file line extra test } { > > ! mi_execute_to_helper "$cmd" "$reason" "$func" "\{$args\}" \ > > "$file" "$line" "$extra" "$test" > > } > > > > proc mi0_next_to { func args file line test } { > > ! mi0_execute_to "exec-next" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi0_step_to { func args file line test } { > > ! mi0_execute_to "exec-step" "end-stepping-range" "$func" "$args" \ > > "$file" "$line" "" "$test" > > } > > > > proc mi0_finish_to { func args file line result ret test } { > > ! mi0_execute_to "exec-finish" "function-finished" "$func" "$args" \ > > "$file" "$line" \ > > ",gdb-result-var=\"$result\",return-value=\"$ret\"" \ > > "$test" > > } > > > > proc mi0_continue_to { bkptno func args file line test } { > > ! mi0_execute_to "exec-continue" "breakpoint-hit\",bkptno=\"$bkptno" \ > > "$func" "$args" "$file" "$line" "" "$test" > > } > > Index: testsuite/gdb.mi/mi-simplerun.exp > > =================================================================== > > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-simplerun.exp,v > > retrieving revision 1.9 > > diff -p -r1.9 mi-simplerun.exp > > *** testsuite/gdb.mi/mi-simplerun.exp 11 Nov 2001 20:11:03 -0000 1.9 > > --- testsuite/gdb.mi/mi-simplerun.exp 10 Sep 2002 22:18:15 -0000 > > *************** proc test_controlled_execution {} { > > *** 140,146 **** > > > > # FIXME: A string argument is not printed right; should be fixed and > > # we should look for the right thing here. > > ! mi_run_to "exec-step 3" "end-stepping-range" "callee4" "" \ > > "basics.c" "8" "" "step to callee4" > > > > # FIXME: A string argument is not printed right; should be fixed and > > --- 140,146 ---- > > > > # FIXME: A string argument is not printed right; should be fixed and > > # we should look for the right thing here. > > ! mi_execute_to "exec-step 3" "end-stepping-range" "callee4" "" \ > > "basics.c" "8" "" "step to callee4" > > > > # FIXME: A string argument is not printed right; should be fixed and > > Index: testsuite/gdb.mi/mi-var-cmd.exp > > =================================================================== > > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-cmd.exp,v > > retrieving revision 1.9 > > diff -p -r1.9 mi-var-cmd.exp > > *** testsuite/gdb.mi/mi-var-cmd.exp 5 Mar 2002 19:48:17 -0000 1.9 > > --- testsuite/gdb.mi/mi-var-cmd.exp 10 Sep 2002 22:18:30 -0000 > > *************** mi_gdb_test "-var-update *" \ > > *** 227,233 **** > > # lsimple.unsigned_integer = 255; > > # lsimple.character = 'a'; > > > > ! mi_run_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > > > # Test: c_variable-2.6 > > --- 227,233 ---- > > # lsimple.unsigned_integer = 255; > > # lsimple.character = 'a'; > > > > ! mi_execute_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > > > # Test: c_variable-2.6 > > *************** mi_gdb_test "-var-update *" \ > > *** 243,249 **** > > # lpsimple = &lsimple; > > # func = nothing; > > > > ! mi_run_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > > > # Test: c_variable-2.7 > > --- 243,249 ---- > > # lpsimple = &lsimple; > > # func = nothing; > > > > ! mi_execute_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > > > # Test: c_variable-2.7 > > *************** mi_gdb_test "-var-update *" \ > > *** 262,268 **** > > # lsimple.unsigned_integer = 4321; > > # lsimple.character = 'b'; > > > > ! mi_run_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > > > # Test: c_variable-2.8 > > --- 262,268 ---- > > # lsimple.unsigned_integer = 4321; > > # lsimple.character = 'b'; > > > > ! mi_execute_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > > > # Test: c_variable-2.8 > > Index: testsuite/gdb.mi/mi0-simplerun.exp > > =================================================================== > > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi0-simplerun.exp,v > > retrieving revision 1.6 > > diff -p -r1.6 mi0-simplerun.exp > > *** testsuite/gdb.mi/mi0-simplerun.exp 11 Nov 2001 20:11:03 -0000 1.6 > > --- testsuite/gdb.mi/mi0-simplerun.exp 10 Sep 2002 22:21:40 -0000 > > *************** proc test_controlled_execution {} { > > *** 142,148 **** > > > > # FIXME: A string argument is not printed right; should be fixed and > > # we should look for the right thing here. > > ! mi0_run_to "exec-step 3" "end-stepping-range" "callee4" "" \ > > "basics.c" "8" "" "step to callee4" > > > > # FIXME: A string argument is not printed right; should be fixed and > > --- 142,148 ---- > > > > # FIXME: A string argument is not printed right; should be fixed and > > # we should look for the right thing here. > > ! mi0_execute_to "exec-step 3" "end-stepping-range" "callee4" "" \ > > "basics.c" "8" "" "step to callee4" > > > > # FIXME: A string argument is not printed right; should be fixed and > > Index: testsuite/gdb.mi/mi0-var-cmd.exp > > =================================================================== > > RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi0-var-cmd.exp,v > > retrieving revision 1.7 > > diff -p -r1.7 mi0-var-cmd.exp > > *** testsuite/gdb.mi/mi0-var-cmd.exp 5 Mar 2002 19:48:18 -0000 1.7 > > --- testsuite/gdb.mi/mi0-var-cmd.exp 10 Sep 2002 22:21:51 -0000 > > *************** mi_gdb_test "-var-update *" \ > > *** 227,233 **** > > # lsimple.unsigned_integer = 255; > > # lsimple.character = 'a'; > > > > ! mi0_run_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > > > # Test: c_variable-2.6 > > --- 227,233 ---- > > # lsimple.unsigned_integer = 255; > > # lsimple.character = 'a'; > > > > ! mi0_execute_to "exec-step 9" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "119" "" "step at do_locals_tests (5)" > > > > # Test: c_variable-2.6 > > *************** mi_gdb_test "-var-update *" \ > > *** 243,249 **** > > # lpsimple = &lsimple; > > # func = nothing; > > > > ! mi0_run_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > > > # Test: c_variable-2.7 > > --- 243,249 ---- > > # lpsimple = &lsimple; > > # func = nothing; > > > > ! mi0_execute_to "exec-step 4" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "125" "" "step at do_locals_tests (6)" > > > > # Test: c_variable-2.7 > > *************** mi_gdb_test "-var-update *" \ > > *** 262,268 **** > > # lsimple.unsigned_integer = 4321; > > # lsimple.character = 'b'; > > > > ! mi0_run_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > > > # Test: c_variable-2.8 > > --- 262,268 ---- > > # lsimple.unsigned_integer = 4321; > > # lsimple.character = 'b'; > > > > ! mi0_execute_to "exec-step 8" "end-stepping-range" "do_locals_tests" "" \ > > "var-cmd.c" "133" "" "step at do_locals_tests (7)" > > > > # Test: c_variable-2.8 > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2002-09-10 22:30 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-09-05 6:35 [RFA/MI testsuite] Add mi_runto Keith Seitz 2002-09-09 19:31 ` Elena Zannoni 2002-09-10 7:31 ` Keith Seitz 2002-09-10 7:42 ` Elena Zannoni 2002-09-10 7:49 ` Keith Seitz 2002-09-10 14:58 ` Elena Zannoni 2002-09-10 15:22 ` Keith Seitz 2002-09-10 15:25 ` Elena Zannoni 2002-09-10 15:30 ` Keith Seitz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox