From 75890dfaf1f8de54271d2e048810c4bfd3edfe95 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 19 Jan 2023 09:30:18 -0700 Subject: [PATCH] Make gdb.ada/ptype_tagged_param.exp pass gdb.ada/ptype_tagged_param.exp is failing for me on x86-64 Fedora 36. However, it's actually generating the correct output -- it is just that the test thinks that the "ptype" will not work because I do not have the GNAT debuginfo installed. This patch changes the code to accept either result, and then to issue a kfail as appropriate. --- gdb/testsuite/gdb.ada/ptype_tagged_param.exp | 42 +++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/gdb/testsuite/gdb.ada/ptype_tagged_param.exp b/gdb/testsuite/gdb.ada/ptype_tagged_param.exp index 0050d60a0f2..eaf61ddde79 100644 --- a/gdb/testsuite/gdb.ada/ptype_tagged_param.exp +++ b/gdb/testsuite/gdb.ada/ptype_tagged_param.exp @@ -31,23 +31,27 @@ if {![runto "pck.adb:20"]} { return -1 } -# Identifying the runtime type of S can only be done when we have the debug -# info for the GNAT runtime. - -if { $has_runtime_debug_info } { - gdb_test "ptype s" \ - [multi_line \ - "type = new pck.shape with record" \ - " r: integer;" \ - "end record"] \ - "ptype s, with debug info" -} else { - gdb_test "ptype s" \ - [multi_line \ - "type = tagged record" \ - " x: integer;" \ - " y: integer;" \ - "end record" ] \ - "ptype s, without debug info" +# With some versions of the compiler, identifying the runtime type of +# S can only be done when we have the debug info for the GNAT runtime. +set ordinary [multi_line \ + "type = new pck.shape with record" \ + " r: integer;" \ + "end record"] +set nodebug [multi_line \ + "type = tagged record" \ + " x: integer;" \ + " y: integer;" \ + "end record"] + +gdb_test_multiple "ptype s" "ptype s" { + -re -wrap $ordinary { + pass $gdb_test_name + } + -re -wrap $nodebug { + if {$has_runtime_debug_info} { + kfail "no debug info" $gdb_test_name + } else { + fail $gdb_test_name + } + } } - -- 2.30.2