Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@ericsson.com>
To: <gdb-patches@sourceware.org>
Cc: Simon Marchi <simon.marchi@ericsson.com>
Subject: [PATCH 2/2] testsuite: Disable backslash_in_multi_line_command_test for old DejaGnus
Date: Mon, 13 Mar 2017 21:28:00 -0000	[thread overview]
Message-ID: <20170313212749.9607-2-simon.marchi@ericsson.com> (raw)
In-Reply-To: <20170313212749.9607-1-simon.marchi@ericsson.com>

I noticed that backslash_in_multi_line_command_test in
gdb.base/commands.exp failed on our RHEL6 servers.  I traced it to the
old version of DejaGnu (1.4.4).  I have found that instead of receiving
the expected:

  "print \\\nargc\n"

gdb received:

  "print  argc\n"

thus breaking the test and its purpose.  Versionof DejaGnu < 1.5 mess
up sending "\\\n", it somehow gets replaced with a space.  I found that
the following commit in DejaGnu fixed the issue:

http://git.savannah.gnu.org/cgit/dejagnu.git/commit/lib/remote.exp?id=3f39294f5cd6802858838d3bcc0ccce847ae17f2

Even though the commit is almost 10 years old, the following release of
DejaGnu was only in 2013, which is why we still have systems with the
old code.

If the DejaGnu version is < 1.5, we just skip the test.

gdb/testsuite/ChangeLog:

	* gdb.base/commands.exp (backslash_in_multi_line_command_test):
	Skip for versions of DejaGnu < 1.5.
---
 gdb/testsuite/gdb.base/commands.exp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp
index 6d3c398c6e..4963743d2b 100644
--- a/gdb/testsuite/gdb.base/commands.exp
+++ b/gdb/testsuite/gdb.base/commands.exp
@@ -1007,6 +1007,17 @@ proc_with_prefix redefine_backtrace_test {} {
 # while entering a multi-line command (in a secondary prompt).
 
 proc_with_prefix backslash_in_multi_line_command_test {} {
+    set dg_ver [dejagnu_version]
+    set dg_major [lindex $dg_ver 0]
+    set dg_minor [lindex $dg_ver 1]
+
+    # With older versions of DejaGnu, the "\\\n" we send gets replaced with a
+    # space, thus breaking the test.  Just skip it in that case.
+    if { $dg_major == 1 && $dg_minor < 5 } {
+	untested "dejagnu version is too old"
+	return
+    }
+
     gdb_breakpoint "main"
 
     gdb_test_multiple "commands" "commands" {
-- 
2.11.0


  reply	other threads:[~2017-03-13 21:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-13 21:28 [PATCH 1/2] testsuite: Introduce dejagnu_version Simon Marchi
2017-03-13 21:28 ` Simon Marchi [this message]
2017-03-13 21:55   ` [PATCH 2/2] testsuite: Disable backslash_in_multi_line_command_test for old DejaGnus Pedro Alves
2017-03-13 21:54 ` [PATCH 1/2] testsuite: Introduce dejagnu_version Pedro Alves
2017-03-13 22:03   ` Simon Marchi

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=20170313212749.9607-2-simon.marchi@ericsson.com \
    --to=simon.marchi@ericsson.com \
    --cc=gdb-patches@sourceware.org \
    /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