aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-02-09 13:30:03 +0100
committerTom de Vries <tdevries@suse.de>2020-02-09 13:30:03 +0100
commit46ce2b6f4c467b6fde846e7fe13cd09c079b6e44 (patch)
tree76c43471f9b39dc1397553b97b783b40ae5f9374
parent6bafc8451e070be83664e4b4c19ae4f85ccd863b (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.base/many-headers.exp19
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"
}