90 lines
2.9 KiB
Diff
90 lines
2.9 KiB
Diff
From 5a533536994a8855e54e593ec83816e366ee35c9 Mon Sep 17 00:00:00 2001
|
|
From: Tom de Vries <tdevries@suse.de>
|
|
Date: Fri, 2 May 2025 16:48:14 +0200
|
|
Subject: [PATCH 2/6] [gdb/testsuite] Make gdb.reverse/time-reverse.exp more
|
|
robust
|
|
|
|
I noticed that test-case gdb.reverse/time-reverse.exp contains:
|
|
...
|
|
if [supports_process_record] {
|
|
# Activate process record/replay
|
|
gdb_test_no_output "record" "turn on process record"
|
|
...
|
|
|
|
So I tried out forcing supports_process_record to 0, and got:
|
|
...
|
|
FAIL: gdb.reverse/time-reverse.exp: mode=syscall: info record
|
|
FAIL: gdb.reverse/time-reverse.exp: mode=syscall: reverse to marker1
|
|
FAIL: gdb.reverse/time-reverse.exp: mode=syscall: check time record
|
|
FAIL: gdb.reverse/time-reverse.exp: mode=c: info record
|
|
FAIL: gdb.reverse/time-reverse.exp: mode=c: reverse to marker1
|
|
FAIL: gdb.reverse/time-reverse.exp: mode=c: check time record
|
|
...
|
|
|
|
Fix this by requiring supports_process_record alongside supports_reverse.
|
|
|
|
I also noticed when running make-check-all.sh that there were a lot of failures
|
|
with target board dwarf5-fission-debug-types.
|
|
|
|
Fix this by not ignoring the result of "runto marker1".
|
|
|
|
Then I noticed that $srcfile is used as a regexp. Fix this by applying
|
|
string_to_regexp.
|
|
|
|
Tested on x86_64-linux.
|
|
|
|
Approved-By: Guinevere Larsen <guinevere@redhat.com>
|
|
---
|
|
gdb/testsuite/gdb.reverse/time-reverse.exp | 19 +++++++++++--------
|
|
1 file changed, 11 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/gdb/testsuite/gdb.reverse/time-reverse.exp b/gdb/testsuite/gdb.reverse/time-reverse.exp
|
|
index 35415a0fe1f..98085f0ebc9 100644
|
|
--- a/gdb/testsuite/gdb.reverse/time-reverse.exp
|
|
+++ b/gdb/testsuite/gdb.reverse/time-reverse.exp
|
|
@@ -20,6 +20,7 @@
|
|
#
|
|
|
|
require supports_reverse
|
|
+require supports_process_record
|
|
|
|
standard_testfile
|
|
|
|
@@ -38,23 +39,25 @@ proc test {mode} {
|
|
return
|
|
}
|
|
|
|
- runto marker1
|
|
-
|
|
- if [supports_process_record] {
|
|
- # Activate process record/replay
|
|
- gdb_test_no_output "record" "turn on process record"
|
|
+ if { ![runto marker1] } {
|
|
+ return
|
|
}
|
|
|
|
+ # Activate process record/replay
|
|
+ gdb_test_no_output "record" "turn on process record"
|
|
+
|
|
+ set re_srcfile [string_to_regexp $::srcfile]
|
|
+
|
|
gdb_test "break marker2" \
|
|
- "Breakpoint $::decimal at $::hex: file .*$::srcfile, line $::decimal.*" \
|
|
+ "Breakpoint $::decimal at $::hex: file .*$re_srcfile, line $::decimal.*" \
|
|
"set breakpoint at marker2"
|
|
|
|
- gdb_continue_to_breakpoint "marker2" ".*$::srcfile:.*"
|
|
+ gdb_continue_to_breakpoint "marker2" ".*$re_srcfile:.*"
|
|
|
|
# Show how many instructions we've recorded.
|
|
gdb_test "info record" "Active record target: .*"
|
|
|
|
- gdb_test "reverse-continue" ".*$::srcfile:$::decimal.*" "reverse to marker1"
|
|
+ gdb_test "reverse-continue" ".*$re_srcfile:$::decimal.*" "reverse to marker1"
|
|
|
|
# If the variable was recorded properly, the old contents (-1)
|
|
# will be remembered. If not, new contents (current time) will be
|
|
--
|
|
2.43.0
|
|
|