gdb.base/memattr.exp regexp improvements.

https://sourceware.org/ml/gdb-patches/2014-04/msg00210.html

Improve the regexp used in the memattr.exp test so allow for different
memory regions (.data / .bss) being laid out in different orders.

gdb/testsuite/ChangeLog:

	* gdb.base/memattr.exp: Improve regexps to handle memory regions
	appearing in any order.
This commit is contained in:
Andrew Burgess 2014-04-16 17:42:29 +01:00
parent 8e63ef2f25
commit fc98a809db
2 changed files with 80 additions and 40 deletions

View File

@ -1,3 +1,8 @@
2014-04-16 Andrew Burgess <aburgess@broadcom.com>
* gdb.base/memattr.exp: Improve regexps to handle memory regions
appearing in any order.
2014-04-15 Doug Evans <dje@google.com>
* gdb.gdb/selftest.exp (do_steps_and_nexts): Don't reference

View File

@ -110,24 +110,31 @@ set see3 0
set see4 0
set see5 0
set info_mem_header_pattern \
"info mem.*Num\[ \t\]+Enb\[ \t\]+Low\[ \t\]+Addr\[ \t\]+High\[ \t\]+Addr\[ \t\]+Attrs\[^\n\r]*.."
gdb_test_multiple "info mem" "info mem(1)" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -181,23 +188,27 @@ set see4 0
set see5 0
gdb_test_multiple "info mem" "mem 2 and 4 were disabled" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -219,23 +230,27 @@ set see4 0
set see5 0
gdb_test_multiple "info mem" "mem 2-4 were enabled" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -257,23 +272,27 @@ set see4 0
set see5 0
gdb_test_multiple "info mem" "mem 1 to 5 were disabled" {
-re "1 n \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 n \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 n \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -295,23 +314,27 @@ set see4 0
set see5 0
gdb_test_multiple "info mem" "mem 1 to 5 were enabled" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -340,23 +363,27 @@ set see5 0
gdb_test_no_output "delete mem 1" "delete mem 1"
gdb_test_multiple "info mem" "mem 1 was deleted" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -377,23 +404,27 @@ set see5 0
gdb_test_no_output "delete mem 2 4" "delete mem 2 4"
gdb_test_multiple "info mem" "mem 2 and 4 were deleted" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}
@ -416,23 +447,27 @@ gdb_test "delete mem 2-4" \
"No memory region number 2.*No memory region number 4." \
"delete mem 2-4"
gdb_test_multiple "info mem" "mem 2-4 were deleted" {
-re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" {
-re ${info_mem_header_pattern} {
# Discard the header.
exp_continue
}
-re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." {
set see1 1
exp_continue
}
-re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" {
-re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." {
set see2 1
exp_continue
}
-re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see3 1
exp_continue
}
-re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" {
-re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see4 1
exp_continue
}
-re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" {
-re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." {
set see5 1
exp_continue
}