[gdb/testsuite] Fix ERROR in gdb.dwarf2/dw2-out-of-range-end-of-seq.exp

When running test-case gdb.dwarf2/dw2-out-of-range-end-of-seq.exp on a
system with debug packages installed, I run into:
...
(gdb) maint info line-table^M
  ... <lots of output> ...
ERROR: internal buffer is full.
UNRESOLVED: gdb.dwarf2/dw2-out-of-range-end-of-seq.exp: \
  END with address 1 eliminated
...

Fix this by limiting the output of the command using a regexp.

I also noticed that when making the regexp match nothing, meaning
the command has no output, the test didn't FAIL.  Fixed this by adding a
PASS pattern.

I also noticed that the FAIL pattern didn't work with -m32, fixed that as
well.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2021-01-28  Tom de Vries  <tdevries@suse.de>

	* gdb.dwarf2/dw2-out-of-range-end-of-seq.exp: Add regexp to
	"maint info line-table".  Make PASS pattern more specific.  Make
	FAIL pattern work for -m32.
This commit is contained in:
Tom de Vries 2021-01-28 08:14:58 +01:00
parent 07b8b9e7c5
commit 22efa3d307
2 changed files with 10 additions and 3 deletions

@ -1,3 +1,9 @@
2021-01-28 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/dw2-out-of-range-end-of-seq.exp: Add regexp to
"maint info line-table". Make PASS pattern more specific. Make
FAIL pattern work for -m32.
2021-01-27 Lancelot SIX <lsix@lancelotsix.com>
PR gdb/27133

@ -84,11 +84,12 @@ if ![runto_main] {
return -1
}
gdb_test_multiple "maint info line-table" "END with address 1 eliminated" {
-re -wrap "END *0x0*1 Y \r\n.*" {
set test "END with address 1 eliminated"
gdb_test_multiple "maint info line-table $srcfile$" $test {
-re -wrap "END *0x0*1 *Y \r\n.*" {
fail $gdb_test_name
}
-re -wrap "" {
-re -wrap "END *$hex *Y " {
pass $gdb_test_name
}
}