mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 01:28:46 +00:00
[gdb/testsuite] Fix gdb.base/dlmopen.exp on native-gdbserver
With test-case gdb.base/dlmopen.exp and target board native-gdbserver, I get:
...
(gdb) info breakpoints 3^M
Num Type Disp Enb Address What^M
3 breakpoint keep y 0x00007ffff7fc8000 ^M
stop only if (0) (target evals)^M
(gdb) FAIL: $exp: test_solib_unmap_events: check b/p status
...
The problem is that the regexp doesn't allow for the "(target evals)" part:
...
-re -wrap "$bpnum\\s+breakpoint\\s+keep\\s+y\\s+$::hex\\s*\[^\r\n\]+\r\n\\s+stop o
nly if \\(0\\)" {
...
Fix this by updating the regexp.
While we're at it:
- rewrite the regexp using multiline, string_to_regexp, join and string cat to
make it more readable, and
- remove the redundant failure clause from the same gdb_test_multiple.
Tested on x86_64-linux using make-check-all.sh.
Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -358,15 +358,19 @@ proc_with_prefix test_solib_unmap_events { } {
|
||||
# dynamic linker as pending when some instances of the library were
|
||||
# unloaded, despite there really only being one copy of the dynamic
|
||||
# linker actually loaded into the inferior's address space.
|
||||
gdb_test_multiple "info breakpoints $bpnum" "check b/p status" {
|
||||
-re -wrap "$bpnum\\s+breakpoint\\s+keep\\s+y\\s+<PENDING>\\s+\\*$::hex\\s*\r\n\\s+stop only if \\(0\\)" {
|
||||
fail $gdb_test_name
|
||||
}
|
||||
|
||||
-re -wrap "$bpnum\\s+breakpoint\\s+keep\\s+y\\s+$::hex\\s*\[^\r\n\]+\r\n\\s+stop only if \\(0\\)" {
|
||||
pass $gdb_test_name
|
||||
}
|
||||
}
|
||||
set hs {[^\r\n]}
|
||||
set re_pass \
|
||||
[multi_line \
|
||||
"" \
|
||||
[join \
|
||||
[list \
|
||||
"$bpnum" "breakpoint" "keep" "y" "$::hex$hs+"] \
|
||||
{\s+}] \
|
||||
[string cat \
|
||||
{\s+} \
|
||||
[string_to_regexp "stop only if (0)"] \
|
||||
([string_to_regexp " (target evals)"])?]]
|
||||
gdb_test "info breakpoints $bpnum" $re_pass "check b/p status"
|
||||
|
||||
# With all the dlclose calls now complete, we should be back to a
|
||||
# single copy of the dynamic linker.
|
||||
|
||||
Reference in New Issue
Block a user