From d82490117c421937ac14c2c85852567dfae60a19 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Thu, 18 Nov 2010 20:25:12 +0000 Subject: [PATCH] * gdb.server/ext-run.exp: Fix intermittent failures. --- gdb/testsuite/ChangeLog | 4 ++++ gdb/testsuite/gdb.server/ext-run.exp | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d3d76ef06f9..a2798f99ef4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-11-18 Doug Evans + + * gdb.server/ext-run.exp: Fix intermittent failures. + 2010-11-12 Nathan Froyd * gdb.stabs/gdb11479.exp: Use runto_main. diff --git a/gdb/testsuite/gdb.server/ext-run.exp b/gdb/testsuite/gdb.server/ext-run.exp index d8fda739260..e268a7d97af 100644 --- a/gdb/testsuite/gdb.server/ext-run.exp +++ b/gdb/testsuite/gdb.server/ext-run.exp @@ -52,7 +52,22 @@ if { [istarget *-*-linux*] } { # On Linux, gdbserver can also report the list of processes. # But only if xml support is compiled in. if { $do_xml_test } { - gdb_test "info os processes" ".*pid +user +command.*1 +root +\[/a-z\]*init.*" "get process list" + # This is done in a way to avoid the timeout that can occur from + # applying .* regexp to large output. It is copied from + # gdb.base/maint.exp "maint check-symtabs". + send_gdb "info os processes\n" + gdb_expect { + -re ".*pid +user +command.*1 +root +\[/a-z\]*init" { + gdb_expect { + -re "$gdb_prompt $" { + pass "get process list" + } + timeout { fail "(timeout) get process list" } + } + } + -re ".*$gdb_prompt $" { fail "get process list" } + timeout { fail "(timeout) get process list" } + } } } -- 2.30.2