diff options
author | Tom de Vries <tdevries@suse.de> | 2020-02-09 13:30:03 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-02-09 13:30:03 +0100 |
commit | 46ce2b6f4c467b6fde846e7fe13cd09c079b6e44 (patch) | |
tree | 76c43471f9b39dc1397553b97b783b40ae5f9374 | |
parent | 6bafc8451e070be83664e4b4c19ae4f85ccd863b (diff) | |
download | gdb-46ce2b6f4c467b6fde846e7fe13cd09c079b6e44.zip gdb-46ce2b6f4c467b6fde846e7fe13cd09c079b6e44.tar.gz gdb-46ce2b6f4c467b6fde846e7fe13cd09c079b6e44.tar.bz2 |
[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-09 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.
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/many-headers.exp | 19 |
2 files changed, 20 insertions, 5 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f6bd172..42c8e8f 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-02-09 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. + 2020-02-07 Tom Tromey <tromey@adacore.com> PR breakpoints/24915: diff --git a/gdb/testsuite/gdb.base/many-headers.exp b/gdb/testsuite/gdb.base/many-headers.exp index dc7f867..eb177d1 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" } |