From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 124210 invoked by alias); 12 May 2015 14:25:25 -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 124191 invoked by uid 89); 12 May 2015 14:25:24 -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,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 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 (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 12 May 2015 14:25:19 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t4CEPFtg024160 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 12 May 2015 10:25:16 -0400 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t4CEPEpZ017875; Tue, 12 May 2015 10:25:14 -0400 Message-ID: <55520D49.1010007@redhat.com> Date: Tue, 12 May 2015 14:25:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Patrick Palka , gdb-patches@sourceware.org Subject: Re: [PATCH] Test the setting of "history size" via $HOME/.gdbinit References: <5551E842.3060706@redhat.com> <1431436035-27928-1-git-send-email-patrick@parcs.ath.cx> In-Reply-To: <1431436035-27928-1-git-send-email-patrick@parcs.ath.cx> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2015-05/txt/msg00274.txt.bz2 On 05/12/2015 02:07 PM, Patrick Palka wrote: > Hi Pedro, > > How does this look? > > (When it is OK, I will squash this commit with the main commit before > pushing it.) > > gdb/testsuite/ChangeLog: > > PR gdb/17820 > * gdb.base/gdbinit-history.exp: New test. > * gdb.base/gdbinit-history/unlimited/.gdbinit: New file. > * gdb.base/gdbinit-history/zero/.gdbinit: New file. > --- > gdb/testsuite/gdb.base/gdbinit-history.exp | 41 ++++++++++++++++++++++ > .../gdb.base/gdbinit-history/unlimited/.gdbinit | 1 + > .../gdb.base/gdbinit-history/zero/.gdbinit | 1 + > 3 files changed, 43 insertions(+) > create mode 100644 gdb/testsuite/gdb.base/gdbinit-history.exp > create mode 100644 gdb/testsuite/gdb.base/gdbinit-history/unlimited/.gdbinit > create mode 100644 gdb/testsuite/gdb.base/gdbinit-history/zero/.gdbinit > > diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp > new file mode 100644 > index 0000000..194f2df > --- /dev/null > +++ b/gdb/testsuite/gdb.base/gdbinit-history.exp > @@ -0,0 +1,41 @@ > +# Copyright 2015 Free Software Foundation, Inc. > + > +# This program is free software; you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation; either version 3 of the License, or > +# (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program. If not, see . > + > +# This file is part of the gdb testsuite. > + > +# Test the setting of "history size" via $HOME/.gdbinit > + > +proc test_gdbinit_history_setting { home size } { > + global env > + global INTERNAL_GDBFLAGS > + global srcdir > + global subdir > + > + set old_home $env(HOME) > + set env(HOME) "$srcdir/$subdir/$home" > + set saved_internal_gdbflags $INTERNAL_GDBFLAGS > + set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS] > + > + gdb_exit > + gdb_start > + > + gdb_test "show history size" "The size of the command history is $size." > + > + set INTERNAL_GDBFLAGS $saved_internal_gdbflags > + set $env(HOME) $old_home > +} > + > +test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited" > +test_gdbinit_history_setting "gdbinit-history/zero" "0" Great. I think that doesn't really cover the bug yet fully though, because with an unfixed gdb, "show history unlimited" shows "unlimited", but the readline history still ends up disabled. So I think we should try a "show commands" after the "show history size". For the unlimited case, we could test that the history contains a few commands and that the last couple were what we just issued. And for size==0, make sure that history really is empty. Something like: gdb_test "show history size" "The size of the command history is $size." if {$home == "unlimited"} { gdb_test "show comands" " show history size\r\n[ \t]+show commands" } else { gdb_test_no_output "show commands" } (FYI: to run a command without having it enter the command history, prefix it with "server". That may be useful for testing.) Thanks, Pedro Alves