diff options
author | Michael Snyder <msnyder@specifix.com> | 2008-09-04 03:59:02 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@specifix.com> | 2008-09-04 03:59:02 +0000 |
commit | 2e352ef76d5ba40671a05dfadcfb275221fddd0b (patch) | |
tree | 2a02db6a825cb3ba862e6bcb721e426b4eaec03e | |
parent | abac16ba228d7a271bd8e8d411c52f869ba1008b (diff) | |
download | gdb-2e352ef76d5ba40671a05dfadcfb275221fddd0b.tar.gz |
2008-09-03 Michael Snyder <msnyder@vmware.com>
* gdb.twreverse/step-reverse.exp: Add tests for reverse stepi
thru a function call (back to caller).
* gdb.twreverse/step-reverse.c: Ditto.
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.twreverse/step-reverse.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.twreverse/step-reverse.exp | 50 |
3 files changed, 51 insertions, 5 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6ec4af60e65..423721d2ee5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2008-09-03 Michael Snyder <msnyder@vmware.com> + * gdb.twreverse/step-reverse.exp: Add tests for reverse stepi + thru a function call (back to caller). + * gdb.twreverse/step-reverse.c: Ditto. + * gdb.twreverse/step-reverse.exp: Add tests for reverse stepi. * gdb.twreverse/step-reverse.c: Ditto. diff --git a/gdb/testsuite/gdb.twreverse/step-reverse.c b/gdb/testsuite/gdb.twreverse/step-reverse.c index 71dc4ff50bb..6f5c797e496 100644 --- a/gdb/testsuite/gdb.twreverse/step-reverse.c +++ b/gdb/testsuite/gdb.twreverse/step-reverse.c @@ -5,7 +5,7 @@ */ int myglob = 0; -int callee() { +int callee() { /* ENTER CALLEE */ myglob++; return 0; /* ARRIVED IN CALLEE */ } /* RETURN FROM CALLEE */ diff --git a/gdb/testsuite/gdb.twreverse/step-reverse.exp b/gdb/testsuite/gdb.twreverse/step-reverse.exp index d8132085ff6..d04a2f38685 100644 --- a/gdb/testsuite/gdb.twreverse/step-reverse.exp +++ b/gdb/testsuite/gdb.twreverse/step-reverse.exp @@ -25,6 +25,8 @@ if { [prepare_for_testing step-reverse.exp step-reverse step-reverse.c] } { return -1 } +global hex + runto main # Activate record/replay @@ -66,7 +68,7 @@ gdb_test_multiple "finish" "$test_message" { # stepi over flat code (no calls) -set test_message "stepi test 1" +set test_message "simple stepi" gdb_test_multiple "stepi" "$test_message" { -re "FINISH TEST" { send_gdb "stepi\n" @@ -80,6 +82,25 @@ gdb_test_multiple "stepi" "$test_message" { } } +# stepi into a function call + +set test_message "stepi into function call" +gdb_test_multiple "stepi" "$test_message" { + -re "ARRIVED IN CALLEE" { + pass "$test_message" + } + -re "NEXTI TEST" { + fail "$test_message (too far)" + } + -re "RETURN FROM CALLEE" { + fail "$test_message (too far)" + } + -re "ENTER CALLEE" { + send_gdb "stepi\n" + exp_continue + } +} + ### ### ### @@ -89,13 +110,34 @@ gdb_test_multiple "stepi" "$test_message" { gdb_test "set exec-dir reverse" "" "set reverse execution" -# stepi backward over flat code (no calls) +# stepi backward out of a function call set stepi_location [gdb_get_line_number "FINISH TEST" step-reverse.c] +set test_message "reverse stepi from a function call" +gdb_test_multiple "stepi" "$test_message" { + -re "ARRIVED IN CALLEE" { + fail "$test_message (start statement)" + } + -re "ENTER CALLEE" { + send_gdb "stepi\n" + exp_continue + } + -re "${hex}\[ \t\]*$stepi_location\[ \t\].*STEPI TEST" { + send_gdb "stepi\n" + exp_continue + } + -re "STEPI TEST" { + pass "$test_message" + } + -re "STEP INTO THIS CALL" { + fail "$test_message (too far)" + } +} -global hex +# stepi backward over flat code (no calls) -set test_message "reverse stepi test 1" +set stepi_location [gdb_get_line_number "FINISH TEST" step-reverse.c] +set test_message "simple reverse stepi" gdb_test_multiple "stepi" "$test_message" { -re "STEPI TEST" { fail "$test_message (start statement)" |