From 46ce2b6f4c467b6fde846e7fe13cd09c079b6e44 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sun, 9 Feb 2020 13:30:03 +0100 Subject: [PATCH] [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 * 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/ChangeLog | 6 ++++++ 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 f6bd172ca99..42c8e8f11ef 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-02-09 Tom de Vries + + * 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 PR breakpoints/24915: diff --git a/gdb/testsuite/gdb.base/many-headers.exp b/gdb/testsuite/gdb.base/many-headers.exp index dc7f8675b89..eb177d1d82d 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" } -- 2.30.2