forked from Imagelibrary/binutils-gdb
[gdb/testsuite] Fix gdb.ada/tagged-lookup.exp with read1+readnow
When running test-case gdb.ada/tagged-lookup.exp with target board readnow and
make target check-read1:
...
$ ( cd build/gdb; \
make check-read1 \
RUNTESTFLAGS="--target_board=readnow gdb.ada/tagged-lookup.exp" )
...
I run into:
...
(gdb) PASS: gdb.ada/tagged-lookup.exp: set debug symtab-create 1
print *the_local_var^M
$1 = (n => 2)^M
(gdb) FAIL: gdb.ada/tagged-lookup.exp: only one CU expanded
...
The problem is that the corresponding gdb_test_multiple uses line-by-line
matching (using -lbl) which doesn't work well with the multiline pattern
matching both the prompt and the line before it:
...
-re -wrap ".* = \\\(n => $decimal\\\)" {
...
Fix this by making it a one-line pattern:
...
-re -wrap "" {
...
While we're at it, replace an if-then-pass-else-fail with a gdb_assert.
Tested on aarch64-linux.
This commit is contained in:
@@ -51,11 +51,7 @@ gdb_test_multiple "print *the_local_var" "only one CU expanded" -lbl {
|
||||
-re ".symtab-create. start_subfile: name = \[^,\]*, name_for_id = \[^\r\n\]*\r\n" {
|
||||
exp_continue
|
||||
}
|
||||
-re -wrap ".* = \\\(n => $decimal\\\)" {
|
||||
if {$found_pck + $found_pck2 <= 1} {
|
||||
pass $gdb_test_name
|
||||
} else {
|
||||
fail $gdb_test_name
|
||||
}
|
||||
-re -wrap "" {
|
||||
gdb_assert {$found_pck + $found_pck2 <= 1} $gdb_test_name
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user