Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Lancelot SIX via Gdb-patches <gdb-patches@sourceware.org>
To: gdb-patches@sourceware.org
Cc: Lancelot SIX <lsix@lancelotsix.com>
Subject: [PATCH 15/29] gdb/testsuite: Remove duplicates from gdb.base/complete-empty.exp
Date: Sun, 21 Nov 2021 17:56:22 +0000	[thread overview]
Message-ID: <20211121175636.779325-16-lsix@lancelotsix.com> (raw)
In-Reply-To: <20211121175636.779325-1-lsix@lancelotsix.com>

When I run the testsuite, I have:

    Running .../gdb/testsuite/gdb.base/complete-empty.exp ...
    DUPLICATE: gdb.base/complete-empty.exp: empty-input-line: cmd complete ""

This comes from how test_gdb_complete_unique works (more specifically,
how test_gdb_complete_unique_re works).  In this proc we can see:

    # Trim INPUT_LINE and COMPLETE LINE, for the case we're completing
    # a command with leading whitespace.  Leading command whitespace
    # is discarded by GDB.
    set input_line [string trimleft $input_line]
    set expected_output_re [string trimleft $complete_line_re]

This test is trying to test how a buffer containing no commands is
completed.  A buffer containing no command can be an empty buffer (first
scenario tested) or a buffer containing only white spaces.

Given the behavior of the test procedure described above (required
because the 'complete' command will trim anyway), our second test
(buffer containing only white spaces) is turned into the first test case
(empty buffer), leading to the DUPLICATE warning.

I see two options to solve this:

  1) Only test the tab-based completion for the test case with leading
     white spaces.
  2) Run the test with a prefix the second time we test an empty buffer,
     so it is registered under a different name.

I went for the first option which seems cleaner.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.base/complete-empty.exp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.base/complete-empty.exp b/gdb/testsuite/gdb.base/complete-empty.exp
index 4620ec2adc9..60f8e3f1a9e 100644
--- a/gdb/testsuite/gdb.base/complete-empty.exp
+++ b/gdb/testsuite/gdb.base/complete-empty.exp
@@ -42,7 +42,17 @@ proc_with_prefix empty-input-line {} {
     test_gdb_complete_unique "" "!" " " 1
 
     # Same, but with some leading whitespace.
-    test_gdb_complete_unique "   " "   !" " " 1
+
+    # This scenario is only tested using tab-completion and not the 'complete'
+    # command (as test_gdb_complete_tab_unique would do).  This is due to the
+    # fact that GDB will in fine trim its input (producing a trimmed output).
+    # Knowing that the testing framework trims the input and expected output,
+    # turning this test case into the one we just did above.
+    if { [readline_is_used] } {
+	if { [test_gdb_complete_tab_unique "   " "   !" " "] == -1 } {
+	    return -1
+	}
+    }
 }
 
 proc test_driver {} {
-- 
2.33.1


  parent reply	other threads:[~2021-11-21 18:04 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-21 17:56 [PATCH 00/29] Remove DUPLICATEs from testsuite/gdb.base/*.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 01/29] gdb/testsuite: Remove duplicates from gdb.base/stack-checking.exp Lancelot SIX via Gdb-patches
2022-01-04 13:59   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 02/29] gdb/testsuite: Remove duplicates from gdb.base/miscexprs.exp Lancelot SIX via Gdb-patches
2021-12-10 22:06   ` Pedro Alves
2021-12-14 23:28     ` Lancelot SIX via Gdb-patches
2021-12-15 11:52       ` Pedro Alves
2022-01-04 14:00   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 03/29] gdb/testsuite: Remove duplicates from gdb.base/interp.exp Lancelot SIX via Gdb-patches
2021-11-22 14:13   ` Pedro Alves
2021-11-22 17:33     ` Lancelot SIX via Gdb-patches
2021-12-10 22:01       ` Pedro Alves
2021-11-21 17:56 ` [PATCH 04/29] gdb/testsuite: Remove duplicates from gdb.base/realname-expand.exp Lancelot SIX via Gdb-patches
2022-01-04 14:06   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 05/29] gdb/testsuite: Remove duplicates from gdb.base/pie-fork.exp Lancelot SIX via Gdb-patches
2022-01-04 14:07   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 06/29] gdb/testsuite: Remove duplicates from gdb.base/checkpoint.exp Lancelot SIX via Gdb-patches
2022-01-04 14:11   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 07/29] gdb/testsuite: Remove duplicates from gdb.base/pending.exp Lancelot SIX via Gdb-patches
2022-01-04 14:12   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 08/29] gdb/testsuite: Remove duplicates from gdb.base/decl-before-def.exp Lancelot SIX via Gdb-patches
2022-01-04 14:13   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 09/29] gdb/testsuite: Remove duplicates from gdb.base/solib-display.exp Lancelot SIX via Gdb-patches
2022-01-04 14:17   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 10/29] gdb/testsuite: Remove duplicates from gdb.base/del.exp Lancelot SIX via Gdb-patches
2022-01-04 14:20   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 11/29] gdb/testsuite: Remove duplicates from gdb.base/dfp-test.exp Lancelot SIX via Gdb-patches
2022-01-04 14:26   ` Andrew Burgess via Gdb-patches
2022-01-05 22:03     ` Lancelot SIX via Gdb-patches
2022-01-06  9:34       ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 12/29] gdb/testsuite: Remove duplicates from gdb.base/ptype.exp Lancelot SIX via Gdb-patches
2022-01-04 15:13   ` Andrew Burgess via Gdb-patches
2021-11-21 17:56 ` [PATCH 13/29] gdb/testsuite: Remove duplicates from gdb.base/dfp-exprs.exp Lancelot SIX via Gdb-patches
2021-12-10 23:03   ` Pedro Alves
2021-12-15  0:01     ` Lancelot SIX via Gdb-patches
2021-12-15 11:54       ` Pedro Alves
2021-11-21 17:56 ` [PATCH 14/29] gdb/testsuite: Remove duplicates from gdb.base/subst.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` Lancelot SIX via Gdb-patches [this message]
2021-11-21 17:56 ` [PATCH 16/29] gdb/testsuite: Remove duplicates from gdb.base/ui-redirect.exp Lancelot SIX via Gdb-patches
2021-12-10 23:15   ` Pedro Alves
2021-12-15  0:26     ` Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 17/29] gdb/testsuite: Remove duplicates from gdb.base/pretty-array.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 18/29] gdb/testsuite: Remove duplicates from gdb.base/readline.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 19/29] gdb/testsuite: Remove duplicates from gdb.base/exprs.exp Lancelot SIX via Gdb-patches
2021-12-10 23:15   ` Pedro Alves
2021-12-15  0:21     ` Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 20/29] gdb/testsuite: Remove duplicates from gdb.base/set-cfd.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 21/29] gdb/testsuite: Remove duplicates from gdb.base/shlib-call.exp Lancelot SIX via Gdb-patches
2021-12-10 23:24   ` Pedro Alves
2021-12-16 22:57     ` Lancelot SIX via Gdb-patches
2021-12-17 11:58       ` Pedro Alves
2021-11-21 17:56 ` [PATCH 22/29] gdb/testsuite: Remove duplicates from gdb.base/funcargs.exp Lancelot SIX via Gdb-patches
2021-12-10 23:26   ` Pedro Alves
2021-12-16 23:08     ` Lancelot SIX via Gdb-patches
2021-12-17 12:00       ` Pedro Alves
2021-11-21 17:56 ` [PATCH 23/29] gdb/testsuite: Remove duplicates from gdb.base/define-prefix.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 24/29] gdb/testsuite: Remove duplicates from gdb.base/unload.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 25/29] gdb/testsuite: Remove duplicates from gdb.base/pointers.exp Lancelot SIX via Gdb-patches
2021-12-10 23:27   ` Pedro Alves
2021-12-16 23:14     ` Lancelot SIX via Gdb-patches
2021-12-17 12:18       ` Pedro Alves
2021-12-17 23:14         ` Lancelot SIX via Gdb-patches
2022-01-05 16:05           ` Pedro Alves
2021-11-21 17:56 ` [PATCH 26/29] gdb/testsuite: Remove duplicates from gdb.base/call-signal-resume.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 27/29] gdb/testsuite: Remove duplicates from gdb.base/nested-subp2.exp Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 28/29] gdb/testsuite: Remove duplicates from gdb.base/watchpoints.exp Lancelot SIX via Gdb-patches
2021-12-10 23:30   ` Pedro Alves
2021-12-16 23:15     ` Lancelot SIX via Gdb-patches
2021-11-21 17:56 ` [PATCH 29/29] gdb/testsuite: Remove duplicates from gdb.base/corefile-buildid.exp Lancelot SIX via Gdb-patches
2021-12-10 23:38   ` Pedro Alves
2021-12-10 23:40 ` [PATCH 00/29] Remove DUPLICATEs from testsuite/gdb.base/*.exp Pedro Alves
2021-12-18  0:39   ` Lancelot SIX via Gdb-patches
2022-01-05 16:23     ` Pedro Alves
2022-01-07 22:36 ` Lancelot SIX via Gdb-patches

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=20211121175636.779325-16-lsix@lancelotsix.com \
    --to=gdb-patches@sourceware.org \
    --cc=lsix@lancelotsix.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