public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Patrick Palka <patrick@parcs.ath.cx>, gdb-patches@sourceware.org
Subject: Re: [PATCH] Test the setting of "history size" via $HOME/.gdbinit
Date: Tue, 12 May 2015 14:25:00 -0000	[thread overview]
Message-ID: <55520D49.1010007@redhat.com> (raw)
In-Reply-To: <1431436035-27928-1-git-send-email-patrick@parcs.ath.cx>

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 <http://www.gnu.org/licenses/>.
> +
> +# 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

  reply	other threads:[~2015-05-12 14:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-26 18:42 [PATCH] Fix PR gdb/17820 Patrick Palka
2015-04-27 18:45 ` Pedro Alves
2015-04-28  1:54   ` Patrick Palka
2015-04-29 12:37     ` Pedro Alves
2015-05-12 11:31       ` Patrick Palka
2015-05-12 11:47         ` Pedro Alves
2015-05-12 13:07           ` [PATCH] Test the setting of "history size" via $HOME/.gdbinit Patrick Palka
2015-05-12 14:25             ` Pedro Alves [this message]
2015-05-13  1:09               ` Patrick Palka
2015-05-13  9:50                 ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55520D49.1010007@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=patrick@parcs.ath.cx \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).