gdb/testsuite: add KFAILs to gdb.reverse/step-reverse.exp
authorBruno Larsen <blarsen@redhat.com>
Thu, 3 Nov 2022 09:01:42 +0000 (10:01 +0100)
committerBruno Larsen <blarsen@redhat.com>
Fri, 4 Nov 2022 11:02:32 +0000 (12:02 +0100)
Recent changes to gdb.reverse/step-reverse.exp revealed the latent bug
PR record/29745, where we can't skip one funcion forward if we're using
native-gdbserver. This commit just adds kfails to the test.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29745
Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/testsuite/gdb.reverse/step-reverse.exp

index c28e1f6db4f867d9f78c47c7b302525557c53337..d2975cffb5c48071ce0058deea7efa755de15150 100644 (file)
@@ -31,6 +31,7 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
 }
 
 runto_main
+set target_remote [gdb_is_target_remote]
 
 if [supports_process_record] {
     # Activate process record/replay
@@ -273,11 +274,25 @@ if { "$step_out" == 1 } {
 # Step forward over recursion again so we can test stepping over calls
 # inside the recursion itself.
 gdb_test_no_output "set exec-dir forward" "forward again to test recursion"
+if {$target_remote} {
+    # gdb doesn't record the change of return pointer for remote targets,
+    # so we can't next forward over functions.
+    setup_kfail gdb/29745 *-*-*
+}
 gdb_test "next" "NEXT OVER THIS CALL.*" "reverse next over recursion again"
 gdb_test_no_output "set exec-dir reverse" "reverse again to test recursion"
 
+if {$target_remote} {
+    # Because of the above mentioned KFAIL, the inferior is now out of sync
+    setup_kfail gdb/29745 *-*-*
+}
 gdb_test "step" ".*EXIT RECURSIVE FUNCTION.*" "enter recursive function"
 set seen_recursive_call 0
+if {$target_remote} {
+    # Because of the above mentioned KFAIL, the inferior is now out of sync
+    # The fail state below will resync the inferior.
+    setup_kfail gdb/29745 *-*-*
+}
 gdb_test_multiple "next" "step over recursion inside the recursion" {
     -re -wrap ".*RECURSIVE CALL.*" {
        incr seen_recursive_call