From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 67268 invoked by alias); 2 Dec 2016 11:04:58 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 67247 invoked by uid 89); 2 Dec 2016 11:04:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.8 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy=Hx-languages-length:2670 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 02 Dec 2016 11:04:45 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C140643A3B; Fri, 2 Dec 2016 11:04:44 +0000 (UTC) Received: from [127.0.0.1] (ovpn03.gateway.prod.ext.phx2.redhat.com [10.5.9.3]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id uB2B4hN0002264; Fri, 2 Dec 2016 06:04:44 -0500 Subject: Re: [PATCH] Don't handle timeout inside gdb_test_multiple To: Luis Machado , gdb-patches@sourceware.org References: <1480640845-3564-1-git-send-email-lgustavo@codesourcery.com> From: Pedro Alves Message-ID: Date: Fri, 02 Dec 2016 11:04:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1480640845-3564-1-git-send-email-lgustavo@codesourcery.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-12/txt/msg00073.txt.bz2 On 12/02/2016 01:07 AM, Luis Machado wrote: > This fixes a few cases where the testcase is explicitly handling timeouts > inside gdb_test_multiple when it is not necessary. > > It also converts two gdb_test_multiple calls to gdb_test_no_output calls > (also removing the timeout handling). > > gdb/testsuite/ChangeLog: > > 2016-12-01 Luis Machado > > * gdb.base/maint.exp: Remove timeout handling for gdb_test_multiple. > * gdb.cp/gdb2495.exp: Likewise and convert gdb_test_multiple into > gdb_test_no_output for a couple of cases. > * gdb.cp/ovldbreak.exp: Remove timeout handling for gdb_test_multiple. > --- > gdb/testsuite/gdb.base/maint.exp | 9 --------- > gdb/testsuite/gdb.cp/gdb2495.exp | 10 ++-------- > gdb/testsuite/gdb.cp/ovldbreak.exp | 4 ---- > 3 files changed, 2 insertions(+), 21 deletions(-) > > diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp > index b07b370..17c606b 100644 > --- a/gdb/testsuite/gdb.base/maint.exp > +++ b/gdb/testsuite/gdb.base/maint.exp > @@ -297,9 +297,6 @@ gdb_test_multiple "maint print msymbols msymbols_output2 ${testfile}" "maint pri > -re ".*$gdb_prompt $" { > fail "maint print msymbols" > } > - timeout { > - fail "(timeout) maint print msymbols" > - } This was: gdb_test_multiple "shell grep factorial msymbols_output2" "maint print msymbols" { -re "\\\[ *$decimal\\\] \[tT\]\[ \t\]+$hex \\.?factorial.*$gdb_prompt $" { pass "maint print msymbols" } -re ".*$gdb_prompt $" { fail "maint print msymbols" } timeout { fail "(timeout) maint print msymbols" } gdb_test_multiple has an internal FAIL for "$gdb_prompt $" too. So this could be reduced to: gdb_test_multiple "shell grep factorial msymbols_output2" "maint print msymbols" { -re "\\\[ *$decimal\\\] \[tT\]\[ \t\]+$hex \\.?factorial.*$gdb_prompt $" { pass "maint print msymbols" } } which can then be reduced to: gdb_test "shell grep factorial msymbols_output2" \ "\\\[ *$decimal\\\] \[tT\]\[ \t\]+$hex \\.?factorial.*" \ "maint print msymbols" Looks like a good chunk of the file could be similarly simplified. > --- a/gdb/testsuite/gdb.cp/ovldbreak.exp > +++ b/gdb/testsuite/gdb.cp/ovldbreak.exp > @@ -58,10 +58,6 @@ proc take_gdb_out_of_choice_menu {} { > gdb_test_multiple " " " " { > -re ".*$gdb_prompt $" { > } > - timeout { > - perror "could not resynchronize to command prompt (timeout)" > - continue > - } Looking at both the description and callers of this procedure, I'd think that the perror here was intended to abort the testcase instead of getting into a potentially long cascading timeout sequence. Thanks, Pedro Alves