[pushed,gdb/testsuite] Allow debug srcfile2 in gdb.base/unwind-on-each-insn.exp

Message ID 20230125142440.29694-1-tdevries@suse.de
State Committed
Headers
Series [pushed,gdb/testsuite] Allow debug srcfile2 in gdb.base/unwind-on-each-insn.exp |

Commit Message

Tom de Vries Jan. 25, 2023, 2:24 p.m. UTC
  Test-case gdb.base/unwind-on-each-insn.exp compiles $srcfile with debug info, and
$srcfile2 without.

Occasionally, I try both files with debug info:
...
-             $srcfile $debug_flags $srcfile2 $nodebug_flags]]} {
+             $srcfile $debug_flags $srcfile2 $debug_flags]]} {
...

This shortcuts the test due to no longer recognizing that stepi still lands
in foo.

Fix this by determining whether still in foo by checking the info frame output.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.base/unwind-on-each-insn.exp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)


base-commit: 621271c7819c3337e3eb5e48b7a7ee66573543da
  

Patch

diff --git a/gdb/testsuite/gdb.base/unwind-on-each-insn.exp b/gdb/testsuite/gdb.base/unwind-on-each-insn.exp
index d6f90dde8c1..059967a2b2e 100644
--- a/gdb/testsuite/gdb.base/unwind-on-each-insn.exp
+++ b/gdb/testsuite/gdb.base/unwind-on-each-insn.exp
@@ -142,9 +142,11 @@  proc do_test { function step_cmd } {
 		break
 	    }
 
+	    gdb_test $step_cmd
+
 	    set in_fn 0
-	    gdb_test_multiple $step_cmd "" {
-		-re -wrap "$::hex in $function \\(\\)" {
+	    gdb_test_multiple "info frame" "" {
+		-re -wrap "rip = $::hex in ${function}( \\(.*\\))?;.*" {
 		    set in_fn 1
 		}
 		-re -wrap "" {}