From: Mark Wielaard Date: Sat, 6 Mar 2021 00:49:27 +0000 (+0100) Subject: Make valgrind tests more robust by adding --wait=1 to vgdb invocation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b0a8c2ff9c1b5f7d2e1ef1e0d65dcff0e9f089cc;p=binutils-gdb.git 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9e1d61f726a..b7c2e7222ab 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2021-03-05 Mark Wielaard + + * lib/valgrind.exp (vgdb_start): Add --wait=1 to vgdbcmd. + 2021-03-06 Weimin Pan * gdb.base/ctf-ptype.exp: Add function tests and fix typos. diff --git a/gdb/testsuite/lib/valgrind.exp b/gdb/testsuite/lib/valgrind.exp index c0b4dc720a8..c214491f7b8 100644 --- a/gdb/testsuite/lib/valgrind.exp +++ b/gdb/testsuite/lib/valgrind.exp @@ -87,7 +87,7 @@ proc vgdb_start { {active_at_startup 1} } { # gdbserver and connect to it. gdb_test "disconnect" ".*" - set vgdbcmd "target remote | vgdb --pid=$vgdbpid" + set vgdbcmd "target remote | vgdb --wait=1 --pid=$vgdbpid" if { $active_at_startup } { gdb_test "$vgdbcmd" " in \\.?_start .*" "target remote for vgdb" } else {