From a3f50dcb9b7dca39546781ebf0ee6b0061f1098e Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sat, 15 Jul 2023 16:52:05 +0200 Subject: [PATCH] [gdb/testsuite] Improve matching in gdb.dwarf2/forward-spec.exp Improve matching in test-case in gdb.dwarf2/forward-spec.exp: - use -wrap rather than an explicit "$gdb_prompt " , which misses the $ anchor at the end - use line-by-line matching, consuming the start-of-line \r\n, and lookahead-matching the end-of-line \r\n - always produce a pass/fail by using a gdb_assert in the -wrap clause Tested on x86_64-linux. --- gdb/testsuite/gdb.dwarf2/forward-spec.exp | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gdb/testsuite/gdb.dwarf2/forward-spec.exp b/gdb/testsuite/gdb.dwarf2/forward-spec.exp index f4512cf9b8c..e252cbd5890 100644 --- a/gdb/testsuite/gdb.dwarf2/forward-spec.exp +++ b/gdb/testsuite/gdb.dwarf2/forward-spec.exp @@ -72,31 +72,31 @@ if {[prepare_for_testing "failed to prepare" ${testfile} \ return -1 } +set ok 0 set in_v 0 -gdb_test_multiple "maint print objfiles" "v has a parent" { - -re "^ *\\\[\[0-9\]\\\] *\\(\\(cooked_index_entry\[^\r\n\]*" { +set cmd "maint print objfiles" +gdb_test_multiple $cmd "v has a parent" { + -re "^${cmd}(?=\r\n)" { + exp_continue + } + -re "^\r\n *\\\[$decimal\\\] *\\(\\(cooked_index_entry\[^\r\n\]*(?=\r\n)" { set in_v 0 exp_continue } - -re "^ *name: *v\[\r\n\]*" { + -re "^\r\n *name: *v(?=\r\n)" { set in_v 1 exp_continue } - -re "^ *parent: *\\(\\(cooked_index_entry \\*\\) (0|$hex)\\)" { + -re "^\r\n *parent: *\\(\\(cooked_index_entry \\*\\) $hex\\)\[^\r\n\]*(?=\r\n)" { if {$in_v} { - if {$expect_out(1,string) == "0"} { - fail $gdb_test_name - } else { - pass $gdb_test_name - } - set in_v 0 + set ok 1 } exp_continue } - -re "^\[^\r\n\]*\[\r\n\]+" { + -re "^\r\n\[^\r\n\]*(?=\r\n)" { exp_continue } - -re "$gdb_prompt " { - # Done. + -re -wrap "" { + gdb_assert $ok $gdb_test_name } } base-commit: 6c1e84f5c6f36263998ef1934bf3132c8cebe75e -- 2.35.3