From 718c61531aa2abc951c4b758567e28eb59112b10 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Fri, 19 Sep 2008 20:36:29 +0000 Subject: Add overlooked reverse test --- gdb/testsuite/gdb.twreverse/Makefile.in | 4 +++- gdb/testsuite/gdb.twreverse/break-reverse.c | 4 ++-- gdb/testsuite/gdb.twreverse/break-reverse.exp | 27 +++++++++++++++++++++++++-- gdb/testsuite/gdb.twreverse/machinestate.exp | 4 +++- gdb/testsuite/gdb.twreverse/until-reverse.exp | 6 +++--- 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/gdb/testsuite/gdb.twreverse/Makefile.in b/gdb/testsuite/gdb.twreverse/Makefile.in index 0adcfe29da3..6bbbceea6b5 100644 --- a/gdb/testsuite/gdb.twreverse/Makefile.in +++ b/gdb/testsuite/gdb.twreverse/Makefile.in @@ -1,7 +1,9 @@ VPATH = @srcdir@ srcdir = @srcdir@ -EXECUTABLES = break-reverse step-reverse return2-reverse watch-reverse +EXECUTABLES = break-reverse step-reverse finish-reverse \ + until-reverse watch-reverse consecutive-reverse machinestate + MISCELLANEOUS = all info install-info dvi install uninstall installcheck check: diff --git a/gdb/testsuite/gdb.twreverse/break-reverse.c b/gdb/testsuite/gdb.twreverse/break-reverse.c index d58e2e5644d..78b24f98023 100644 --- a/gdb/testsuite/gdb.twreverse/break-reverse.c +++ b/gdb/testsuite/gdb.twreverse/break-reverse.c @@ -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 */ diff --git a/gdb/testsuite/gdb.twreverse/break-reverse.exp b/gdb/testsuite/gdb.twreverse/break-reverse.exp index 5b7d0abd8f4..902a1243f97 100644 --- a/gdb/testsuite/gdb.twreverse/break-reverse.exp +++ b/gdb/testsuite/gdb.twreverse/break-reverse.exp @@ -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,39 @@ 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:$main_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 ".*Breakpoint $decimal,.*/$srcfile:$end_location.*$gdb_prompt $" { + pass "end of record log" + } + -re "No more reverse-execution history.* end of main .*$gdb_prompt $" { + pass "end of record log" + } +} diff --git a/gdb/testsuite/gdb.twreverse/machinestate.exp b/gdb/testsuite/gdb.twreverse/machinestate.exp index 63f11727152..0a9d145969f 100644 --- a/gdb/testsuite/gdb.twreverse/machinestate.exp +++ b/gdb/testsuite/gdb.twreverse/machinestate.exp @@ -79,9 +79,11 @@ set breakloc [gdb_get_line_number \ gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" "" gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc" -gdb_test "print aglobal" ".* = 0$newline" "module global reverse" +gdb_test "print aglobal" ".* = 0$newline" "module global reverse-breakpoint" gdb_test "step" ".* module global post-change .*" "" gdb_test "print aglobal" ".* = 1$newline" "module global forward" +gdb_test "reverse-step" ".*$newline$breakloc.*" "" +gdb_test "print aglobal" ".* = 0$newline" "module global reverse-step" # Module static variable diff --git a/gdb/testsuite/gdb.twreverse/until-reverse.exp b/gdb/testsuite/gdb.twreverse/until-reverse.exp index 0faf0ac9c67..e392d884d21 100644 --- a/gdb/testsuite/gdb.twreverse/until-reverse.exp +++ b/gdb/testsuite/gdb.twreverse/until-reverse.exp @@ -1,4 +1,4 @@ -# Copyright 2003, 2007, 2008 Free Software Foundation, Inc. +# Copyright 2008 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ # Please email any bugs, comments, and/or additions to this file to: # bug-gdb@prep.ai.mit.edu -# until.exp -- Expect script to test 'until' in gdb +# until-reverse.exp -- Expect script to test 'until' in gdb set testfile "until-reverse" set srcfile ${testfile}.c @@ -61,7 +61,7 @@ if ![runto_main] then { gdb_test "record" "" "Turn on recording" -# Verify that plain vanilla2 "until " works. +# Verify that plain vanilla "until " works. # gdb_test "until $bp_location1" \ "main .* at .*:$bp_location1.*" \ -- cgit v1.2.1