diff options
author | Michael Snyder <msnyder@specifix.com> | 2008-09-04 03:41:48 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@specifix.com> | 2008-09-04 03:41:48 +0000 |
commit | abac16ba228d7a271bd8e8d411c52f869ba1008b (patch) | |
tree | 54c0e49d6e5a2b66f1a6c6b8a3a733d7896b55ac | |
parent | 09241d539042042dea2e8fc2f5e68fa2d8ddc5a3 (diff) | |
download | gdb-abac16ba228d7a271bd8e8d411c52f869ba1008b.tar.gz |
2008-09-03 Michael Snyder <msnyder@vmware.com>
* gdb.twreverse/step-reverse.exp: Add tests for reverse stepi.
* gdb.twreverse/step-reverse.c: Ditto.
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.twreverse/step-reverse.c | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.twreverse/step-reverse.exp | 40 |
3 files changed, 46 insertions, 7 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 5621464ce3e..6ec4af60e65 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,11 +1,12 @@ 2008-09-03 Michael Snyder <msnyder@vmware.com> + * gdb.twreverse/step-reverse.exp: Add tests for reverse stepi. + * gdb.twreverse/step-reverse.c: Ditto. + * gdb.twreverse/step-reverse.exp: Add tests for stepping backward into a function call. * gdb.twreverse/step-reverse.c: Ditto. -2008-09-03 Michael Snyder <msnyder@vmware.com> - * gdb.twreverse/step-reverse.exp: Add tests for reverse stepping over, into, and out of a function call. * 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 1cc449445ba..71dc4ff50bb 100644 --- a/gdb/testsuite/gdb.twreverse/step-reverse.c +++ b/gdb/testsuite/gdb.twreverse/step-reverse.c @@ -35,17 +35,17 @@ int main () { z = z + 5; /* STEP TEST 2 */ /* Test that "next" goes over a call */ - callee(); /* NEXT OVER THIS CALL */ + callee(); /* NEXT OVER THIS CALL */ /* Test that "step" doesn't */ - callee(); /* STEP INTO THIS CALL */ + callee(); /* STEP INTO THIS CALL */ /* Test "stepi" */ a[5] = a[3] - a[4]; /* FINISH TEST */ - callee(); /* STEPI */ + callee(); /* STEPI TEST */ /* Test "nexti" */ - callee(); /* NEXTI */ + callee(); /* NEXTI TEST */ y = w + z; diff --git a/gdb/testsuite/gdb.twreverse/step-reverse.exp b/gdb/testsuite/gdb.twreverse/step-reverse.exp index ca9b55c4df3..d8132085ff6 100644 --- a/gdb/testsuite/gdb.twreverse/step-reverse.exp +++ b/gdb/testsuite/gdb.twreverse/step-reverse.exp @@ -64,6 +64,22 @@ gdb_test_multiple "finish" "$test_message" { } } +# stepi over flat code (no calls) + +set test_message "stepi test 1" +gdb_test_multiple "stepi" "$test_message" { + -re "FINISH TEST" { + send_gdb "stepi\n" + exp_continue + } + -re "STEPI TEST" { + pass "$test_message" + } + -re "NEXTI_TEST" { + fail "$test_message (too far)" + } +} + ### ### ### @@ -73,10 +89,32 @@ gdb_test_multiple "finish" "$test_message" { gdb_test "set exec-dir reverse" "" "set reverse execution" +# stepi backward over flat code (no calls) + +set stepi_location [gdb_get_line_number "FINISH TEST" step-reverse.c] + +global hex + +set test_message "reverse stepi test 1" +gdb_test_multiple "stepi" "$test_message" { + -re "STEPI TEST" { + fail "$test_message (start statement)" + } + -re "$hex\[ \t\]*$stepi_location\[ \t\].* FINISH TEST" { + send_gdb "stepi\n" + exp_continue + } + -re "$stepi_location\[ \t\].* FINISH TEST" { + pass "$test_message" + } + -re "STEP INTO THIS CALL" { + fail "$test_message (too far)" + } +} + # step backward into function (thru return) set test_message "reverse step into fn call" - gdb_test_multiple "step" "$test_message" { -re "RETURN FROM CALLEE" { send_gdb "step\n" |