From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id Lkn+K4T6TGGVIwAAWB0awg (envelope-from ) for ; Thu, 23 Sep 2021 18:07:00 -0400 Received: by simark.ca (Postfix, from userid 112) id A23DF1EE25; Thu, 23 Sep 2021 18:07:00 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,NICE_REPLY_A,RDNS_DYNAMIC, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id A330C1EE14 for ; Thu, 23 Sep 2021 18:06:59 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E5809385802E for ; Thu, 23 Sep 2021 22:06:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5809385802E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1632434818; bh=b1QQf2ZhkYfFfxpcbFyOhjOCq1CNZV3fVSPcapjNxwc=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=YvFYebEgun2V2Rqzh3XVdKa4JLsa7kaf+IZegH6T+e2H4DJf8ZEn0mdD+WdNjgR1j Nl8eel6GY83WSWUOw+2l9/8++hDKfGyrPPSKgxBmWwuhvtBCs0Ifw/G2BWfEKWW93u RNZF3WSjRrqeuGwH+M9q0KOw8X7oXRTFWfzB8RUI= Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id B02133858D34 for ; Thu, 23 Sep 2021 22:06:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B02133858D34 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 678ED1FDA8; Thu, 23 Sep 2021 22:06:35 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 53E7A13EAA; Thu, 23 Sep 2021 22:06:35 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id e4VfE2v6TGFZOAAAMHmgww (envelope-from ); Thu, 23 Sep 2021 22:06:35 +0000 Subject: Re: [PATCH][gdb/testsuite] Dump /proc/cpuinfo into gdb.log To: Simon Marchi , gdb-patches@sourceware.org References: <20210921080157.GA18967@delia> <671f08cc-cc93-f36e-563d-20f2be20488e@polymtl.ca> Message-ID: Date: Fri, 24 Sep 2021 00:06:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <671f08cc-cc93-f36e-563d-20f2be20488e@polymtl.ca> Content-Type: multipart/mixed; boundary="------------E3F8C8E817DA2E37F637F6DA" Content-Language: en-US X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Tom de Vries via Gdb-patches Reply-To: Tom de Vries Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" This is a multi-part message in MIME format. --------------E3F8C8E817DA2E37F637F6DA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 9/23/21 4:32 PM, Simon Marchi wrote: > > > On 2021-09-21 4:01 a.m., Tom de Vries via Gdb-patches wrote: >> Hi, >> >> When interpreting the testsuite results, it's often relevant what kind of >> machine the testsuite ran on. On a local machine one can just do >> /proc/cpuinfo, but in case of running tests using a remote system >> that distributes test runs to other remote systems that are not directly >> accessible, that's not possible. >> >> Fix this by dumping /proc/cpuinfo into the gdb.log. >> >> We could do this at the start of each test run, by putting it into unix.exp >> or some such. However, this might be too verbose, so we choose to put it into >> its own test-case, such that it get triggered in a full testrun, but not when >> running one or a subset of tests. >> >> We put the test-case into the gdb.testsuite directory, which is currently the >> only place in the testsuite where we do not test gdb. Though perhaps this >> should be put into a new gdb.info directory, since the test-case doesn't >> actually test the testsuite. > > I think in the gdb.testsuite directory is fine. > Ack (still leaving the comment in the log message though). > I like the idea. I even think it would be useful to dump more things > about the system, like: > > - "--version" output of compilers used for testing > - "lsb_release -a" output (if lsb_release is available) > - "uname -a" output (if uname is available) I've added the latter two (and renamed the test-case to dump-system-info.exp). I'm not sure about compiler version, ISTM we already have that information in the log (though you may have to grep for it). > Can you think of more? > Atm not, no. I guess we can add if and when we think of something else. At least this gives us a place to add it to. I'll commit tomorrow unless there are further comments. Thanks, - Tom > Simon > --------------E3F8C8E817DA2E37F637F6DA Content-Type: text/x-patch; charset=UTF-8; name="0002-gdb-testsuite-Add-gdb.testsuite-dump-system-info.exp.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename*0="0002-gdb-testsuite-Add-gdb.testsuite-dump-system-info.exp.pa"; filename*1="tch" [gdb/testsuite] Add gdb.testsuite/dump-system-info.exp When interpreting the testsuite results, it's often relevant what kind of machine the testsuite ran on. On a local machine one can just do /proc/cpuinfo, but in case of running tests using a remote system that distributes test runs to other remote systems that are not directly accessible, that's not possible. Fix this by dumping /proc/cpuinfo into the gdb.log, as well as lsb_release -a and uname -a. We could do this at the start of each test run, by putting it into unix.exp or some such. However, this might be too verbose, so we choose to put it into its own test-case, such that it get triggered in a full testrun, but not when running one or a subset of tests. We put the test-case into the gdb.testsuite directory, which is currently the only place in the testsuite where we do not test gdb. [ Though perhaps this could be put into a new gdb.info directory, since the test-case doesn't actually test the testsuite. ] Tested on x86_64-linux. --- gdb/testsuite/gdb.testsuite/dump-system-info.exp | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gdb/testsuite/gdb.testsuite/dump-system-info.exp b/gdb/testsuite/gdb.testsuite/dump-system-info.exp new file mode 100644 index 00000000000..bf181469bd5 --- /dev/null +++ b/gdb/testsuite/gdb.testsuite/dump-system-info.exp @@ -0,0 +1,48 @@ +# Copyright 2021 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The purpose of this test-case is to dump /proc/cpuinfo and similar system +# info into gdb.log. + +# Check if /proc/cpuinfo is available. +set res [remote_exec target "test -r /proc/cpuinfo"] +set status [lindex $res 0] +set output [lindex $res 1] + +if { $status == 0 && $output == "" } { + verbose -log "Cpuinfo available, dumping:" + remote_exec target "cat /proc/cpuinfo" +} else { + verbose -log "Cpuinfo not available" +} + +set res [remote_exec target "lsb_release -a"] +set status [lindex $res 0] +set output [lindex $res 1] + +if { $status == 0 } { + verbose -log "lsb_release -a availabe, dumping:\n$output" +} else { + verbose -log "lsb_release -a not available" +} + +set res [remote_exec target "uname -a"] +set status [lindex $res 0] +set output [lindex $res 1] + +if { $status == 0 } { + verbose -log "uname -a availabe, dumping:\n$output" +} else { + verbose -log "uname -a not available" +} --------------E3F8C8E817DA2E37F637F6DA--