-# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright 2009-2013 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
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
-if $tracelevel {
- strace $tracelevel
-}
-
if ![istarget "i?86-*linux*"] then {
verbose "Skipping i386 reverse tests."
return
}
-set testfile "i386-precsave"
-set srcfile i386-reverse.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile i386-reverse.c
+set precsave [standard_output_file i386.precsave]
# some targets have leading underscores on assembly symbols.
set additional_flags [gdb_target_symbol_prefix_flags]
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
- untested ${testfile}.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile \
+ [list debug $additional_flags]]} {
return -1
}
set end_of_main [gdb_get_line_number " end of main "]
set end_of_inc_dec_tests [gdb_get_line_number " end inc_dec_tests "]
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
-gdb_test "record save i386.precsave" \
- "Saved core file i386.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" \
"Kill the program being debugged\\? \\(y or n\\) " "y"
-gdb_test "record restore i386.precsave" \
+gdb_test "record restore $precsave" \
"Program terminated with signal .*" \
"reload precord save file"