Make valgrind tests more robust by adding --wait=1 to vgdb invocation
authorMark Wielaard <mark@klomp.org>
Sat, 6 Mar 2021 00:49:27 +0000 (01:49 +0100)
committerMark Wielaard <mark@klomp.org>
Sat, 6 Mar 2021 01:51:04 +0000 (02:51 +0100)
commitb0a8c2ff9c1b5f7d2e1ef1e0d65dcff0e9f089cc
treee2ef9d2435d9927ba5b8143f12d45270c415a587
parentdd99cf0c580ac7b989a991283fa9f3eab07aec99
Make valgrind tests more robust by adding --wait=1 to vgdb invocation

On my setup some valgrind tests failed somewhat reliably because
the target remote | vgdb command couldn't find the vgdb-pipe files
because valgrind startup hadn't finished yet.

I tried to fix this by replacing the "Memcheck, a memory error detector"
match to "TO DEBUG THIS PROCESS USING GDB: start GDB like this" which is
right before valgrind creates the vgdb-pipe files. But even that didn't
guarantee that the vgdb-pipe files were there (maybe valgrind should
print that text after it has created them?). But also not all tests
use --vgdb-error=0, so the text isn't always printed.

To make the tests reliable I added --wait=1 to the vgdb invocation.
That tells vgdb to try to find the vgdb-pipe files, and if they aren't
there yet, to wait 1 second and try again.

gdb/testsuite/ChangeLog:

* lib/valgrind.exp (vgdb_start): Add --wait=1 to vgdbcmd.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/valgrind.exp