Fix racy output matching in gdb.base/memattr.exp
Testing with: $ make check-read1 TESTS="gdb.base/memattr.exp" Exposes a testcase bug that can result in racy fails: info mem Using user-defined memory regions. Num Enb Low Addr High Addr Attrs 1 y 0x0000000000601060 0x0000000000601160 wo nocache 2 y 0x0000000000601180 0x0000000000601280 ro nocache 4 y 0x0000000000601280 0x0000000000601380 rw nocache 3 y 0x0000000000601380 0x0000000000601480 rw nocache 5 y 0x0000000000601480 0x0000000000601580 rw nocache (gdb) FAIL: gdb.base/memattr.exp: info mem (1) The problem is that: "Attrs\[^\n\r]*.." matches: "Attrs \r" when the output buffer is filled with partial output like this: "info mem\r\nUsing user-defined memory regions.\r\nNum Enb Low Addr High Addr Attrs \r" gdb/testsuite/ChangeLog: 2017-11-09 Pedro Alves <palves@redhat.com> * gdb.base/memattr.exp: Tighten regexes to match the end line.
This commit is contained in:
parent
c7a3851716
commit
2c88253fc4
|
@ -1,3 +1,7 @@
|
||||||
|
2017-11-09 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
|
* gdb.base/memattr.exp: Tighten regexes to match the end line.
|
||||||
|
|
||||||
2017-11-09 Pedro Alves <palves@redhat.com>
|
2017-11-09 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* gdb.base/completion.exp (ignore_and_resync, test_tab_complete):
|
* gdb.base/completion.exp (ignore_and_resync, test_tab_complete):
|
||||||
|
|
|
@ -114,30 +114,30 @@ set see4 0
|
||||||
set see5 0
|
set see5 0
|
||||||
|
|
||||||
set info_mem_header_pattern \
|
set info_mem_header_pattern \
|
||||||
"info mem.*Num\[ \t\]+Enb\[ \t\]+Low\[ \t\]+Addr\[ \t\]+High\[ \t\]+Addr\[ \t\]+Attrs\[^\n\r]*.."
|
"info mem.*Num\[ \t\]+Enb\[ \t\]+Low\[ \t\]+Addr\[ \t\]+High\[ \t\]+Addr\[ \t\]+Attrs\[^\r\n\]*\r\n"
|
||||||
|
|
||||||
gdb_test_multiple "info mem" "info mem(1)" {
|
gdb_test_multiple "info mem" "info mem(1)" {
|
||||||
-re ${info_mem_header_pattern} {
|
-re ${info_mem_header_pattern} {
|
||||||
# Discard the header.
|
# Discard the header.
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
|
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*\r\n" {
|
||||||
set see1 1
|
set see1 1
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
|
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*\r\n" {
|
||||||
set see2 1
|
set see2 1
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
|
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*\r\n" {
|
||||||
set see3 1
|
set see3 1
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
|
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*\r\n" {
|
||||||
set see4 1
|
set see4 1
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
|
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*\r\n" {
|
||||||
set see5 1
|
set see5 1
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue