summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2008-09-04 03:41:48 +0000
committerMichael Snyder <msnyder@specifix.com>2008-09-04 03:41:48 +0000
commitabac16ba228d7a271bd8e8d411c52f869ba1008b (patch)
tree54c0e49d6e5a2b66f1a6c6b8a3a733d7896b55ac
parent09241d539042042dea2e8fc2f5e68fa2d8ddc5a3 (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.twreverse/step-reverse.c8
-rw-r--r--gdb/testsuite/gdb.twreverse/step-reverse.exp40
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"