Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Keith Seitz <keiths@redhat.com>
To: Sandra Loosemore <sandra@codesourcery.com>,
	       gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [patch, testsuite] require readline for gdb.linespec/explicit.exp tab-completion tests
Date: Thu, 17 Sep 2015 18:50:00 -0000	[thread overview]
Message-ID: <55FB0B6C.6010401@redhat.com> (raw)
In-Reply-To: <55FA6B97.4080209@codesourcery.com>

[-- Attachment #1: Type: text/plain, Size: 1876 bytes --]

On 09/17/2015 12:28 AM, Sandra Loosemore wrote:
> Tab-completion tests require readline support.  The ones in
> gdb.base/completion.exp are already conditional, but the recently-added
> gdb.linespec/explicit.exp tests are not.  This patch fixes that, and
> also an obvious typo ("faill" -> "fail").  The patch is kind of long
> because I had to insert an "if" block and reindent, but there's nothing
> else going on here.  OK to commit?

I'm not a maintainer, but I wouldn't hesitate to commit this as obvious.
Thank you for catching (and fixing) that.

> The immediate problem is that the response to the "break -function
> mai\t" test doesn't always include the ^G character in the output
> pattern, and the other FAILs are cascading off of the testcase not being
> structured to recover from a pattern match failure (it's sending more
> commands without a newline to terminate the one that failed).  But, I
> have no clue why GDB is giving a ^G in some configurations and not
> others (I observed that this test fails on nios2-elf target but passes
> on nios2-linux-gnu, for instance), or whether this difference is
> indicative of an actual bug.  So I've not touched that part of the
> testcase.

Can you reliably reproduce the failure? I have been unable to do so
locally, but I have a couple of guesses why this test might fail.

I've attached a patch where I've made two changes. First, I've switched
from using "main" as a unique completion to some goofy new function
where the name is hopefully truly unique.

Second I believe the test is incorrect (or at least in combination with
some readline versions?). ^G is output only for non-unique completions.
So with this particular test, I don't think it should be present at all.
I've removed it in the patch.

If you can reliably reproduce the failure, I sure would love to know
whether this patch helps at all.

Keith

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: explicit.exp-unique-function.patch --]
[-- Type: text/x-patch; name="explicit.exp-unique-function.patch", Size: 1631 bytes --]

diff --git a/gdb/testsuite/gdb.linespec/explicit.c b/gdb/testsuite/gdb.linespec/explicit.c
index 4e1c635..5b65311 100644
--- a/gdb/testsuite/gdb.linespec/explicit.c
+++ b/gdb/testsuite/gdb.linespec/explicit.c
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2013 Free Software Foundation, Inc.
+   Copyright 2012-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
@@ -42,6 +42,12 @@ myfunction (int arg)
   return r;
 }
 
+static int
+explicit_exp_really_unique_function_name (int arg)
+{
+  return arg;
+}
+
 int
 main (void)
 {
@@ -52,5 +58,5 @@ main (void)
   for (i = 0, j = 0; i < 1000; ++i)
     j += myfunction (0);
 
-  return myfunction2 (j);
+  return explicit_exp_really_unique_function_name (myfunction2 (j));
 }
diff --git a/gdb/testsuite/gdb.linespec/explicit.exp b/gdb/testsuite/gdb.linespec/explicit.exp
index a0851cd..6b9c8e0 100644
--- a/gdb/testsuite/gdb.linespec/explicit.exp
+++ b/gdb/testsuite/gdb.linespec/explicit.exp
@@ -181,9 +181,9 @@ namespace eval $testfile {
     }
 
     set tst "complete unique function name"
-    send_gdb "break -function mai\t"
+    send_gdb "break -function explicit_exp_really_unique_f\t"
     gdb_test_multiple "" $tst {
-	"break -function mai\\\x07n" {
+	"break -function explicit_exp_really_unique_function_name " {
 	    send_gdb "\n"
 	    gdb_test "" ".*Breakpoint \[0-9\]+.*" $tst
 	    gdb_test_no_output "delete \$bpnum" "delete $tst breakpoint"

  reply	other threads:[~2015-09-17 18:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-17  7:29 Sandra Loosemore
2015-09-17 18:50 ` Keith Seitz [this message]
2015-09-17 21:10   ` Sandra Loosemore
2015-09-18  4:31   ` Doug Evans
2015-09-18 15:56     ` Sandra Loosemore

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=55FB0B6C.6010401@redhat.com \
    --to=keiths@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=sandra@codesourcery.com \
    /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