[gdb/testsuite] Improve failure mode in gdb.dwarf2/enqueued-cu-base-addr.exp
authorTom de Vries <tdevries@suse.de>
Thu, 10 Aug 2023 13:46:30 +0000 (15:46 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 10 Aug 2023 13:46:30 +0000 (15:46 +0200)
I ran test-case gdb.dwarf2/enqueued-cu-base-addr.exp with target board
cc-with-debug-names, and ran into:
...
FAIL: gdb.dwarf2/enqueued-cu-base-addr.exp: ptype foo (GDB internal error)
FAIL: gdb.dwarf2/enqueued-cu-base-addr.exp: CU addr found
...

The first FAIL is a known issue, PR symtab/29572.

The following FAIL is a consequence of the first FAIL, so require for the
second test that the first test passes.

Tested on x86_64-linux, with target boards unix and cc-with-debug-names.

gdb/testsuite/gdb.dwarf2/enqueued-cu-base-addr.exp

index b60c020..9b2d1d8 100644 (file)
@@ -76,7 +76,15 @@ if { [prepare_for_testing "failed to prepare" ${testfile} \
 }
 
 # Expand cu1.  This will enqueue cu2.
-gdb_test "ptype foo" "type = int"
+set cu1_expanded 0
+gdb_test_multiple "ptype foo" "" {
+    -re -wrap "type = int" {
+       set cu1_expanded 1
+       pass $gdb_test_name
+    }
+}
+
+require {expr $cu1_expanded == 1}
 
 # Now check that cu2 has an address range starting at main.
 set cu2_blockvector_re \