gdb/testsuite: use -wrap with gdb_test_multiple in lib/ada.exp
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 25 Mar 2021 14:31:35 +0000 (14:31 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 25 Mar 2021 14:31:35 +0000 (14:31 +0000)
commitba3c61fc5854059a71baee9cb2b951275bf3cb7b
tree5e2cd2ec8abfc2d1076f65ed724f56d700d80f34
parentd3cbca38dfdd29d919a74d72d7c4608864c68f63
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.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/ada.exp