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.
---
| 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
--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"
}
next prev parent 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