Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: Simon Marchi <simark@simark.ca>, gdb-patches@sourceware.org
Subject: Re: [PATCH][gdb/testsuite] Capture many-headers.exp progress and output in gdb.log
Date: Sun, 09 Feb 2020 12:07:00 -0000	[thread overview]
Message-ID: <e7448004-8e54-dd2b-c72e-a23f0df4e373@suse.de> (raw)
In-Reply-To: <84cdebc1-4bd6-1017-6916-6cbd78b466d7@simark.ca>

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

> This leaves a stray OUTPUT file in the build/gdb/testsuite directory.

Removed in updated version.

> I am fine
> with the technique used, but maybe just create some file using standard_output_file?

Done.

Thanks,
- Tom



[-- Attachment #2: 0001-gdb-testsuite-Capture-many-headers.exp-progress-and-output-in-gdb.log.patch --]
[-- Type: text/x-patch, Size: 2260 bytes --]

[gdb/testsuite] Capture many-headers.exp progress and output in gdb.log

When running test-case gdb.base/many-headers.exp, we have test output on
stdout/stderr:
...
Running src/gdb/testsuite/gdb.base/many-headers.exp ...
[New LWP 759]
Core was generated by `outputs/gdb.base/many-headers/many'.
Program terminated with signal SIGSEGV, Segmentation fault.
\#0  0x0000000000400688 in ?? ()

                === gdb Summary ===

nr of expected passes            1
...

Furthermore, the only trace in gdb.log that we have of the gdb command issued
is:
...
PASS: gdb.base/many-headers.exp: read core file
...

Fix this by echoing the gdb command in gdb.log, and capturing the
command output and pasting it into gdb.log:
...
( ulimit -s 4096; \
  gdb -nw -nx -data-directory data-directory -batch -core=many-headers.core )
[New LWP 1542]
Core was generated by `many'.
Program terminated with signal SIGSEGV, Segmentation fault.
\#0  0x0000000000400688 in ?? ()
PASS: gdb.base/many-headers.exp: read core file
...

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-02-06  Tom de Vries  <tdevries@suse.de>

	* gdb.base/many-headers.exp: Echo gdb command to gdb.log.  Capture gdb
	command output and paste it into gdb.log.  If any, paste catch message
	to gdb.log.

---
 gdb/testsuite/gdb.base/many-headers.exp | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/gdb/testsuite/gdb.base/many-headers.exp b/gdb/testsuite/gdb.base/many-headers.exp
index dc7f8675b8..eb177d1d82 100644
--- a/gdb/testsuite/gdb.base/many-headers.exp
+++ b/gdb/testsuite/gdb.base/many-headers.exp
@@ -51,17 +51,26 @@ if { "$msg" != "" } {
     return -1
 }
 
+set cmd \
+    [concat \
+	 "(" \
+	 "ulimit -s $stack_limit;" \
+	 "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS -batch -core=$corefile" \
+	 ")"]
+verbose -log $cmd
+
 # Run gdb with stack limit
+set output [standard_output_file OUTPUT]
 catch {
-    system [concat \
-		"(" \
-		"ulimit -s $stack_limit;" \
-		"$GDB $INTERNAL_GDBFLAGS $GDBFLAGS -batch -core=$corefile" \
-		")"]
+    system "$cmd > $output 2>&1"
 } msg
+verbose -log [exec cat $output]
+file delete $output
+
 set test "read core file"
 if { "$msg" == "" } {
     pass "$test"
 } else {
+    verbose -log $msg
     fail "$test"
 }

  reply	other threads:[~2020-02-09 12:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-06  8:53 Tom de Vries
2020-02-08 16:16 ` Simon Marchi
2020-02-09 12:07   ` Tom de Vries [this message]
2020-02-09 12:17     ` 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=e7448004-8e54-dd2b-c72e-a23f0df4e373@suse.de \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    --cc=simark@simark.ca \
    /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