diff options
Diffstat (limited to 'gdb/testsuite/gdb.reverse/machinestate.exp')
-rw-r--r-- | gdb/testsuite/gdb.reverse/machinestate.exp | 268 |
1 files changed, 139 insertions, 129 deletions
diff --git a/gdb/testsuite/gdb.reverse/machinestate.exp b/gdb/testsuite/gdb.reverse/machinestate.exp index 27916c7..e33be3d 100644 --- a/gdb/testsuite/gdb.reverse/machinestate.exp +++ b/gdb/testsuite/gdb.reverse/machinestate.exp @@ -63,7 +63,8 @@ if [supports_process_record] { # Proceed to end of main gdb_test "break $endmain" \ - "Breakpoint.* file .*$srcfile, line $endmain.*" "" + "Breakpoint.* file .*$srcfile, line $endmain.*" \ + "break at end of main" gdb_continue_to_breakpoint "end of main" ".*$srcfile:$endmain.*" ### @@ -74,157 +75,166 @@ gdb_continue_to_breakpoint "end of main" ".*$srcfile:$endmain.*" # # Module global variable, reverse - -set breakloc [gdb_get_line_number \ - "module_global_state: set breakpoint here" $srcfile] - -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-breakpoint" -gdb_test "step" ".* module global post-change .*" "" -gdb_test "print aglobal" ".* = 1$newline" "module global forward past bp" -gdb_test "reverse-step" ".*$newline$breakloc.*" "" -gdb_test "print aglobal" ".* = 0$newline" "module global reverse-step to bp" - +with_test_prefix "module global variable, reverse" { + set breakloc [gdb_get_line_number \ + "module_global_state: set breakpoint here" $srcfile] + + 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-breakpoint" + gdb_test "step" " module global post-change .*" + gdb_test "print aglobal" " = 1$newline" "module global forward past bp" + gdb_test "reverse-step" "$newline$breakloc.*" + gdb_test "print aglobal" " = 0$newline" "module global reverse-step to bp" +} # Module static variable, reverse - -set breakloc [gdb_get_line_number \ - "module_static_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc" - -gdb_test "print astatic" ".* = 0$newline" "module static reverse-breakpoint" -gdb_test "step" ".* module static post-change .*" "" -gdb_test "print astatic" ".* = 1$newline" "module static forward" -gdb_test "reverse-step" ".*$newline$breakloc.*" "" -gdb_test "print astatic" ".* = 0$newline" "module static reverse-step" +with_test_prefix "module static variable, reverse" { + set breakloc [gdb_get_line_number \ + "module_static_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "reverse-continue" "$srcfile:$breakloc.*" "reverse to $breakloc" + + gdb_test "print astatic" " = 0$newline" "module static reverse-breakpoint" + gdb_test "step" " module static post-change .*" + gdb_test "print astatic" " = 1$newline" "module static forward" + gdb_test "reverse-step" "$newline$breakloc.*" + gdb_test "print astatic" " = 0$newline" "module static reverse-step" +} # Function static variable, reverse - -set breakloc [gdb_get_line_number \ - "function_static_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc" - -gdb_test "print a" ".* = 0$newline" "function static reverse-breakpoint" -gdb_test "step" ".* function static post-change .*" "" -gdb_test "print a" ".* = 1$newline" "function static forward" -gdb_test "reverse-step" ".*$newline$breakloc.*" "" -gdb_test "print a" ".* = 0$newline" "function static reverse-step" +with_test_prefix "function static variable, reverse" { + set breakloc [gdb_get_line_number \ + "function_static_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "reverse-continue" "$srcfile:$breakloc.*" "reverse to $breakloc" + + gdb_test "print a" " = 0$newline" "function static reverse-breakpoint" + gdb_test "step" " function static post-change .*" + gdb_test "print a" " = 1$newline" "function static forward" + gdb_test "reverse-step" "$newline$breakloc.*" + gdb_test "print a" " = 0$newline" "function static reverse-step" +} # Auto variable, reverse - -set breakloc [gdb_get_line_number \ - "auto_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc" - -gdb_test "print a" ".* = 0$newline" "auto var reverse-breakpoint" -gdb_test "step" ".* auto post-change .*" "" -gdb_test "print a" ".* = 1$newline" "auto var forward" -gdb_test "reverse-step" ".*$newline$breakloc.*" "" -gdb_test "print a" ".* = 0$newline" "auto var reverse-step" +with_test_prefix "auto variable, reverse" { + set breakloc [gdb_get_line_number \ + "auto_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "reverse-continue" "$srcfile:$breakloc.*" "reverse to $breakloc" + + gdb_test "print a" " = 0$newline" "auto var reverse-breakpoint" + gdb_test "step" " auto post-change .*" + gdb_test "print a" " = 1$newline" "auto var forward" + gdb_test "reverse-step" "$newline$breakloc.*" + gdb_test "print a" " = 0$newline" "auto var reverse-step" +} # Register variable, reverse - -set breakloc [gdb_get_line_number \ - "register_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc" - -gdb_test "print a" ".* = 0$newline" "register var reverse-breakpoint" -gdb_test "step" ".* register post-change .*" "" -gdb_test "print a" ".* = 1$newline" "register var step post-change" -gdb_test "reverse-step" ".*$newline$breakloc.*" "" -gdb_test "print a" ".* = 0$newline" \ - "register var reverse step-to, first time" +with_test_prefix "register variable, reverse" { + set breakloc [gdb_get_line_number \ + "register_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "reverse-continue" "$srcfile:$breakloc.*" "reverse to $breakloc" + + gdb_test "print a" " = 0$newline" "register var reverse-breakpoint" + gdb_test "step" " register post-change .*" + gdb_test "print a" " = 1$newline" "register var step post-change" + gdb_test "reverse-step" "$newline$breakloc.*" + gdb_test "print a" " = 0$newline" \ + "register var reverse step-to, first time" +} # Proceed to beginning of main -gdb_test "tbreak $beginmain" ".*$srcfile, line $beginmain.*" "" -gdb_test "reverse-continue" ".*$srcfile:$beginmain.*" "reverse to main" +gdb_test "tbreak $beginmain" "$srcfile, line $beginmain.*" +gdb_test "reverse-continue" "$srcfile:$beginmain.*" "reverse to main" # Now repeat tests while replaying forward. # Register variable, forward -set breakloc [gdb_get_line_number \ - "register_state: set breakpoint here" $srcfile] +with_test_prefix "register variable, forward" { + set breakloc [gdb_get_line_number \ + "register_state: set breakpoint here" $srcfile] -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "continue" ".*$srcfile:$breakloc.*" "forward to $breakloc" + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "continue" "$srcfile:$breakloc.*" "forward to $breakloc" -gdb_test "print a" ".* = 0$newline" "register var forward-breakpoint" -gdb_test "reverse-step" ".*hide.*" "" -gdb_test "step" ".*$newline$breakloc.*" "" -gdb_test "print a" ".* = 0$newline" "register var forward step-to" -gdb_test "step" ".* register post-change .*" "" -gdb_test "print a" ".* = 1$newline" \ - "register var step post-change, second time" + gdb_test "print a" " = 0$newline" "register var forward-breakpoint" + gdb_test "reverse-step" "hide.*" + gdb_test "step" "$newline$breakloc.*" "step, 1" + gdb_test "print a" " = 0$newline" "register var forward step-to" + gdb_test "step" " register post-change .*" "step, 2" + gdb_test "print a" " = 1$newline" \ + "register var step post-change, second time" +} # Auto variable, forward - -set breakloc [gdb_get_line_number \ - "auto_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "continue" ".*$srcfile:$breakloc.*" "forward to $breakloc" - -gdb_test "print a" ".* = 0$newline" "auto var forward-breakpoint" -gdb_test "reverse-step" ".*hide.*" "" -gdb_test "step" ".*$newline$breakloc.*" "" -gdb_test "print a" ".* = 0$newline" "auto var forward step-to" -gdb_test "step" ".* auto post-change .*" "" -gdb_test "print a" ".* = 1$newline" "auto var step post-change" +with_test_prefix "auto variable, forward" { + set breakloc [gdb_get_line_number \ + "auto_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "continue" "$srcfile:$breakloc.*" "forward to $breakloc" + + gdb_test "print a" " = 0$newline" "auto var forward-breakpoint" + gdb_test "reverse-step" "hide.*" + gdb_test "step" "$newline$breakloc.*" "step, 1" + gdb_test "print a" " = 0$newline" "auto var forward step-to" + gdb_test "step" " auto post-change .*" "step, 2" + gdb_test "print a" " = 1$newline" "auto var step post-change" +} # Function static variable, forward - -set breakloc [gdb_get_line_number \ - "function_static_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "continue" ".*$srcfile:$breakloc.*" "forward to $breakloc" - -gdb_test "print a" ".* = 0$newline" "function static forward-breakpoint" -gdb_test "reverse-step" ".*hide.*" "" -gdb_test "step" ".*$newline$breakloc.*" "" -gdb_test "print a" ".* = 0$newline" "function static forward step-to" -gdb_test "step" ".* function static post-change .*" "" -gdb_test "print a" ".* = 1$newline" "function static step post-change" +with_test_prefix "function static variable, forward" { + set breakloc [gdb_get_line_number \ + "function_static_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "continue" "$srcfile:$breakloc.*" "forward to $breakloc" + + gdb_test "print a" " = 0$newline" "function static forward-breakpoint" + gdb_test "reverse-step" "hide.*" + gdb_test "step" "$newline$breakloc.*" "step, 1" + gdb_test "print a" " = 0$newline" "function static forward step-to" + gdb_test "step" " function static post-change .*" "step, 2" + gdb_test "print a" " = 1$newline" "function static step post-change" +} # Module static variable, forward - -set breakloc [gdb_get_line_number \ - "module_static_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "continue" ".*$srcfile:$breakloc.*" "forward to $breakloc" - -gdb_test "print astatic" ".* = 0$newline" "module static forward-breakpoint" -gdb_test "reverse-step" ".*hide.*" "" -gdb_test "step" ".*$newline$breakloc.*" "" -gdb_test "print astatic" ".* = 0$newline" "module static forward step-to" -gdb_test "step" ".* module static post-change .*" "" -gdb_test "print astatic" ".* = 1$newline" "module static step post-change" +with_test_prefix "module static variable, forward" { + set breakloc [gdb_get_line_number \ + "module_static_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "continue" "$srcfile:$breakloc.*" "forward to $breakloc" + + gdb_test "print astatic" " = 0$newline" "module static forward-breakpoint" + gdb_test "reverse-step" "hide.*" + gdb_test "step" "$newline$breakloc.*" "step, 1" + gdb_test "print astatic" " = 0$newline" "module static forward step-to" + gdb_test "step" " module static post-change .*" "step, 2" + gdb_test "print astatic" " = 1$newline" "module static step post-change" +} # Module global variable, forward - -set breakloc [gdb_get_line_number \ - "module_global_state: set breakpoint here" $srcfile] - -gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" "" -gdb_test "continue" ".*$srcfile:$breakloc.*" "forward to $breakloc" - -gdb_test "print aglobal" ".* = 0$newline" "module global forward-breakpoint" -gdb_test "reverse-step" ".*hide.*" "" -gdb_test "step" ".*$newline$breakloc.*" "" -gdb_test "print aglobal" ".* = 0$newline" "module global forward step-to" -gdb_test "step" ".* module global post-change .*" "" -gdb_test "print aglobal" ".* = 1$newline" "module global step post-change" - +with_test_prefix "module global variable, forward" { + set breakloc [gdb_get_line_number \ + "module_global_state: set breakpoint here" $srcfile] + + gdb_test "tbreak $breakloc" "$srcfile, line $breakloc.*" + gdb_test "continue" "$srcfile:$breakloc.*" "forward to $breakloc" + + gdb_test "print aglobal" " = 0$newline" "module global forward-breakpoint" + gdb_test "reverse-step" "hide.*" + gdb_test "step" "$newline$breakloc.*" "step, 1" + gdb_test "print aglobal" " = 0$newline" "module global forward step-to" + gdb_test "step" " module global post-change .*" "step, 2" + gdb_test "print aglobal" " = 1$newline" "module global step post-change" +} |