-# Copyright 2008, 2009 Free Software Foundation, Inc.
+# Copyright 2008-2016 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
# consecutive instructions in a process record logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
-set testfile "consecutive-reverse"
-set srcfile ${testfile}.c
+standard_testfile consecutive-reverse.c
+set precsave [standard_output_file consecutive.precsave]
if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
return -1
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
- gdb_test "record" "" "Turn on process record"
- # FIXME: command ought to acknowledge, so we can test if it succeeded.
+ gdb_test_no_output "record" "turn on process record"
}
set end_location [gdb_get_line_number "end of main" ]
gdb_test "break $end_location" \
- "Breakpoint $decimal at .*/$srcfile, line $end_location\." \
+ "Breakpoint $decimal at .*$srcfile, line $end_location\." \
"BP at end of main"
gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
-gdb_test "record save consecutive.precsave" \
- "Saved core file consecutive.precsave with execution log\." \
+gdb_test "record save $precsave" \
+ "Saved core file $precsave with execution log\." \
"save process recfile"
-gdb_test "kill" "" "Kill process, prepare to debug log file" \
+gdb_test "kill" "" "kill process, prepare to debug log file" \
"Kill the program being debugged\\? \\(y or n\\) " "y"
-gdb_test "record restore consecutive.precsave" \
- "Program terminated with signal .*" \
+gdb_test "record restore $precsave" \
+ "Restored records from core file .*" \
"reload precord save file"
gdb_breakpoint foo
set foo2_addr 0
set stop_addr 0
-send_gdb "x /2i \$pc\n"
-gdb_expect {
+gdb_test_multiple "x /2i \$pc" "get breakpoint address for foo" {
global hex
global foo1_addr
global foo2_addr
global gdb_prompt
- -re "($hex).*\[\r\n\]+($hex).*$gdb_prompt $" {
+ -re "=> ($hex).*\[\r\n\]+ ($hex).*$gdb_prompt $" {
set foo1_addr $expect_out(1,string)
set foo2_addr $expect_out(2,string)
pass "get breakpoint address for foo"
}
- -re ".*$gdb_prompt $" {
- fail "get breakpoint address for foo"
- return 0;
- }
- timeout {
- fail "get breakpoint address for foo (timeout)"
- return 0;
- }
}
gdb_test "break \*$foo2_addr" "Breakpoint $decimal at $foo2_addr: file .*" \
###
# Set reverse execution direction
-# FIXME: command needs to acknowledge, so we can test if it succeeded.
-gdb_test "set exec-dir reverse" "" "set reverse execution"
+gdb_test_no_output "set exec-dir reverse" "set reverse execution"
# Now step backward and hope to hit the first breakpoint.
}
}
-re "Breakpoint $decimal, foo.*$gdb_prompt $" {
- send_gdb "print \$pc == $foo1_addr\n"
- gdb_expect {
- -re "$decimal = 1\[\r\n\]+$gdb_prompt $" {
- pass "$test_msg"
- }
- -re "$decimal = 0\[\r\n\]+$gdb_prompt $" {
- fail "$test_msg (wrong address)"
- }
- }
- }
- -re ".*$gdb_prompt $" {
- fail "$test_msg"
+ gdb_test "print \$pc == $foo1_addr" \
+ "$decimal = 1" \
+ "$test_msg"
}
}