aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-09-11 17:56:34 +0200
committerTom de Vries <tdevries@suse.de>2024-09-11 17:56:34 +0200
commite20c1e410ba1e689cdc0aaf6becc8fd041608aa5 (patch)
treec1952a9ec442f2b418e23ca01b42e5da93c183b5
parenta77ccc81295f41b72f96db000d1aa44e4dc91254 (diff)
downloadgdb-e20c1e410ba1e689cdc0aaf6becc8fd041608aa5.zip
gdb-e20c1e410ba1e689cdc0aaf6becc8fd041608aa5.tar.gz
gdb-e20c1e410ba1e689cdc0aaf6becc8fd041608aa5.tar.bz2
[gdb/testsuite] Simplify gdb.dwarf2/forward-spec.exp
Test-case gdb.dwarf2/forward-spec.exp contains a non-trivial gdb_test_multiple to parse this cooked_index_entry: ... [5] ((cooked_index_entry *) 0x7f01f0004040)^M name: v^M canonical: v^M qualified: ns::v^M DWARF tag: DW_TAG_variable^M flags: 0x2 [IS_STATIC]^M DIE offset: 0xcb^M parent: ((cooked_index_entry *) 0x7f01f00040a0) [ns]^M ... which allows us to verify that the entry has a parent. After commit 8f258a6c979 ("[gdb/symtab] Dump qualified name of cooked_index_entry") that's no longer necessary. Simplify this by checking for ns::v instead. While we're at it, also fix the test-case for target boards readnow, cc-with-gdb-index and cc-with-debug-names. Tested on x86_64-linux.
-rw-r--r--gdb/testsuite/gdb.dwarf2/forward-spec.exp40
1 files changed, 12 insertions, 28 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/forward-spec.exp b/gdb/testsuite/gdb.dwarf2/forward-spec.exp
index b045c02..5d41f87 100644
--- a/gdb/testsuite/gdb.dwarf2/forward-spec.exp
+++ b/gdb/testsuite/gdb.dwarf2/forward-spec.exp
@@ -16,6 +16,8 @@
# Check that the DWARF reader works with a a DW_AT_specification that
# refers to a later DIE.
+require !readnow
+
load_lib dwarf.exp
# This test can only be run on targets which support DWARF-2 and use gas.
@@ -72,31 +74,13 @@ if {[prepare_for_testing "failed to prepare" ${testfile} \
return -1
}
-set in_v 0
-gdb_test_multiple "maint print objfiles" "v has a parent" {
- -re "^ *\\\[\[0-9\]\\\] *\\(\\(cooked_index_entry\[^\r\n\]*" {
- set in_v 0
- exp_continue
- }
- -re "^ *name: *v\[\r\n\]*" {
- set in_v 1
- exp_continue
- }
- -re "^ *parent: *\\(\\(cooked_index_entry \\*\\) (0|$hex)\\)" {
- if {$in_v} {
- if {$expect_out(1,string) == "0"} {
- fail $gdb_test_name
- } else {
- pass $gdb_test_name
- }
- set in_v 0
- }
- exp_continue
- }
- -re "^\[^\r\n\]*\[\r\n\]+" {
- exp_continue
- }
- -re "$gdb_prompt " {
- # Done.
- }
-}
+require {string equal [have_index $binfile] ""}
+
+set re_ws "\[ \t\]"
+
+gdb_test_lines "maint print objfiles" \
+ "v has a parent" \
+ [multi_line \
+ "" \
+ "$re_ws+qualified:$re_ws+ns::v" \
+ ".*"]