This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[reverse RFA] break-reverse.exp testcase
- From: Michael Snyder <msnyder at vmware dot com>
- To: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Cc: teawater <teawater at gmail dot com>
- Date: Fri, 19 Sep 2008 11:42:43 -0700
- Subject: [reverse RFA] break-reverse.exp testcase
Extended to test reaching endpoints (begin and end)
of the recorded execution log.
2008-09-19 Michael Snyder <msnyder@vmware.com>
* gdb.twreverse/break-reverse.exp: Extend to test endpoints
of reverse execution log.
* gdb.twreverse/break-reverse.c: Ditto.
Index: break-reverse.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.twreverse/Attic/break-reverse.exp,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 break-reverse.exp
--- break-reverse.exp 9 Sep 2008 19:05:17 -0000 1.1.2.3
+++ break-reverse.exp 19 Sep 2008 18:41:44 -0000
@@ -27,6 +27,7 @@ global decimal
set foo_location [gdb_get_line_number "break in foo" ]
set bar_location [gdb_get_line_number "break in bar" ]
set main_location [gdb_get_line_number "break in main"]
+set end_location [gdb_get_line_number "end of main" ]
runto main
@@ -41,17 +42,36 @@ gdb_test "break bar" \
"Breakpoint $decimal at .* line $bar_location\." \
"set breakpoint on bar"
+gdb_test "break $end_location" \
+ "Breakpoint $decimal at .* line $end_location\." \
+ set breakpoint at end of main"
+
gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
gdb_continue_to_breakpoint "bar" ".*/$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "end" ".*/$srcfile:$end_location.*"
# FIXME 'set exec-dir' command should give some output so we can test.
gdb_test "set exec-direction reverse" "" "set reverse"
-gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
-gdb_continue_to_breakpoint "main" ".*/$srcfile:$main_location.*"
+gdb_continue_to_breakpoint "bar backward" ".*/$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "foo backward" ".*/$srcfile:$foo_location.*"
+
+gdb_test_multiple "continue" "main backward" {
+ -re "Breakpoint $decimal, .*/$srcfile:$foo_location.*$gdb_prompt $" {
+ pass "main backward"
+ }
+ -re "No more reverse-execution history.* break in main .*$gdb_prompt $" {
+ pass "main backward"
+ }
+}
gdb_test "set exec-direction forward" "" "set forward"
gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
gdb_continue_to_breakpoint "bar" ".*/$srcfile:$bar_location.*"
+gdb_test_multiple "continue" "end of record log" {
+ -re "No more reverse-execution history.* end of main .*$gdb_prompt $" {
+ pass "end of record log"
+ }
+}
Index: break-reverse.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.twreverse/Attic/break-reverse.c,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 break-reverse.c
--- break-reverse.c 2 Sep 2008 00:49:39 -0000 1.1.2.1
+++ break-reverse.c 19 Sep 2008 18:41:44 -0000
@@ -31,7 +31,7 @@ int foo ()
int main ()
{
- xyz = 0; /* break in main */
+ xyz = 0; /* break in main */
foo ();
return (xyz == 2 ? 0 : 1);
-}
+} /* end of main */