gdb/testsuite: use -wrap with gdb_test_multiple in lib/ada.exp

I ran into a new failure in gdb.base/gdb-caching-proc.exp:

  FAIL: gdb.base/gdb-caching-proc.exp: supports_memtag: initial: memory-tag check

This is a failure from the `supports_memtag` proc added recently (this
new proc is in lib/gdb.exp).

The problem here is that `supports_memtag` is hitting one of the
default error cases in gdb_test_multiple, specifically it is finding a
$gdb_prompt left unmatched from an earlier call to gdb_test_multiple.

Looking back through the test output I found that the problem is the
proc `gnat_runtime_has_debug_info` in lib/ada.exp.  This proc is not
matching the trailing $gdb_prompt.  This leaves the prompt in the
expect buffer, then when we run `supports_memtag` it sees the prompt
and thinks that the test completed with no output.

Fixed by making use of `-wrap` in `gnat_runtime_has_debug_info` to
ensure the trailing prompt gets matched.

gdb/testsuite/ChangeLog:

	* lib/ada.exp (gnat_runtime_has_debug_info): Use -wrap with
	gdb_test_multiple.
This commit is contained in:
Andrew Burgess 2021-03-25 14:31:35 +00:00
parent d3cbca38df
commit ba3c61fc58
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2021-03-25 Andrew Burgess <andrew.burgess@embecosm.com>
* lib/ada.exp (gnat_runtime_has_debug_info): Use -wrap with
gdb_test_multiple.
2021-03-24 Luis Machado <luis.machado@linaro.org>
* gdb.arch/aarch64-mte.c: New file.

View File

@ -188,8 +188,8 @@ gdb_caching_proc gnat_runtime_has_debug_info {
set has_debug_info 0
gdb_test_multiple "whatis __gnat_debug_raise_exception" "" {
-re "type = <text variable, no debug info>" { }
-re "type = void" {
-re -wrap "type = <text variable, no debug info>" { }
-re -wrap "type = void" {
set has_debug_info 1
}
default {