From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20250 invoked by alias); 2 Dec 2016 15:25:08 -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 20212 invoked by uid 89); 2 Dec 2016 15:25:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 02 Dec 2016 15:24:53 +0000 Received: from svr-orw-mbx-03.mgc.mentorg.com ([147.34.90.203]) by relay1.mentorg.com with esmtp id 1cCphj-0003KY-Ra from Luis_Gustavo@mentor.com ; Fri, 02 Dec 2016 07:24:51 -0800 Received: from [172.30.7.172] (147.34.91.1) by svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 2 Dec 2016 07:24:48 -0800 Reply-To: Luis Machado Subject: Re: [PATCH] Don't handle timeout inside gdb_test_multiple References: <1480640845-3564-1-git-send-email-lgustavo@codesourcery.com> To: Pedro Alves , From: Luis Machado Message-ID: Date: Fri, 02 Dec 2016 15:25: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: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) To svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) X-IsSubscribed: yes X-SW-Source: 2016-12/txt/msg00096.txt.bz2 On 12/02/2016 05:04 AM, Pedro Alves wrote: > 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. > Heh... i did notice those things, but i tried to keep the patch focused. Actually, i noticed more tests using outdated constructs (gdb_expect) without the need to do so. That seemed like a slightly bigger change though (but would be nice!) I can patch the above up with no problems though. >> --- 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. This was a bit cryptic. It wasn't clear whether this was still functional or not. And it looks hack-ish. Should i put this back? Maybe investigate if we need that code at all?