From patchwork Sun Feb 9 12:07:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 37784 Received: (qmail 28825 invoked by alias); 9 Feb 2020 12:07:33 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 28806 invoked by uid 89); 9 Feb 2020 12:07:32 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 09 Feb 2020 12:07:30 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 541ADADE8; Sun, 9 Feb 2020 12:07:28 +0000 (UTC) Subject: Re: [PATCH][gdb/testsuite] Capture many-headers.exp progress and output in gdb.log To: Simon Marchi , gdb-patches@sourceware.org References: <20200206085252.GA2453@delia> <84cdebc1-4bd6-1017-6916-6cbd78b466d7@simark.ca> From: Tom de Vries Message-ID: Date: Sun, 9 Feb 2020 13:07:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <84cdebc1-4bd6-1017-6916-6cbd78b466d7@simark.ca> X-IsSubscribed: yes > 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 [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 * 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" }