From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20171 invoked by alias); 15 Mar 2011 12:19:22 -0000 Received: (qmail 20161 invoked by uid 22791); 15 Mar 2011 12:19:21 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 15 Mar 2011 12:19:16 +0000 Received: (qmail 16339 invoked from network); 15 Mar 2011 12:19:14 -0000 Received: from unknown (HELO scottsdale.localnet) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 15 Mar 2011 12:19:14 -0000 From: Pedro Alves To: gdb-patches@sourceware.org, pmuldoon@redhat.com Subject: Re: [patch] gdb_unload - account for another termination message Date: Tue, 15 Mar 2011 13:42:00 -0000 User-Agent: KMail/1.13.5 (Linux/2.6.35-27-generic; KDE/4.6.1; x86_64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201103151219.11392.pedro@codesourcery.com> X-IsSubscribed: yes 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 X-SW-Source: 2011-03/txt/msg00769.txt.bz2 On Tuesday 15 March 2011 10:56:31, Phil Muldoon wrote: > > While working on another bug I attempted to use gdb_unload in the > testsuite. I noticed that it did not account for a termination > message. (This was the one message I was getting). This would lead to a > timeout and failure. Is it ok to just add another -re test in the > original test here? The current code reads: proc gdb_unload {} { global verbose global GDB global gdb_prompt send_gdb "file\n" gdb_expect 60 { -re "No executable file now\[^\r\n\]*\[\r\n\]" { exp_continue } -re "No symbol file now\[^\r\n\]*\[\r\n\]" { exp_continue } -re "A program is being debugged already..*Kill it.*y or n. $"\ { send_gdb "y\n" verbose "\t\tKilling previous program being debugged" exp_continue } I don't think the "Kill it" message can ever appear in response to a "file" command. This may be old behavior. I'd rather we replace this part with current reality. > diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp > index 1b601af..6cc8410 100644 > --- a/gdb/testsuite/lib/gdb.exp > +++ b/gdb/testsuite/lib/gdb.exp > @@ -142,6 +142,11 @@ proc gdb_unload {} { > verbose "\t\tKilling previous program being debugged" > exp_continue > } > + -re "A program is being debugged already..*Are you sure.*y or n. $"\ > + { send_gdb "y\n" > + verbose "\t\tKilling previous program being debugged" The full message I see is: (top-gdb) file gdb A program is being debugged already. Are you sure you want to change the file? (y or n) So please adjust the regex to catch the whole frase, not just the "Are you sure" part, which could paper over other questions. Also, "Killing previous program..." isn't what answering 'y' does. > + exp_continue > + } > -re "Discard symbol table from .*y or n.*$" { > send_gdb "y\n" > exp_continue > -- Pedro Alves