From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 2FosCnzsKmQwNiIAWB0awg (envelope-from ) for ; Mon, 03 Apr 2023 11:10:52 -0400 Received: by simark.ca (Postfix, from userid 112) id 27BAC1E15D; Mon, 3 Apr 2023 11:10:52 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Dls5RYk0; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 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 AD0EF1E110 for ; Mon, 3 Apr 2023 11:10:51 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2289A3858C36 for ; Mon, 3 Apr 2023 15:10:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2289A3858C36 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680534651; bh=xGnuvVyTZNZN46ULMkJ2BzImAXChYo1FJxCN/JJY/tk=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Dls5RYk0GamfaQed8QJXAnFa4BUdr5U4qVgVecOkoNMb65W8A9vQjTvTO9pGcJtQF N2JVb5S2NRoEy72Hyk1z19NMSVxlcPrC/R/cK90TZXmQ3aK+QwVGRkx3jtLQUHAtVs Of0dz2sShT8THjTs+Hw3HxUN4hPrDL75zVhfb8y0= Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by sourceware.org (Postfix) with ESMTPS id BA3B63858C5E for ; Mon, 3 Apr 2023 15:10:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA3B63858C5E 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-out1.suse.de (Postfix) with ESMTPS id E627A21E3A for ; Mon, 3 Apr 2023 15:10:00 +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 D177A1331A for ; Mon, 3 Apr 2023 15:10:00 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id ynbiMUjsKmTiMQAAMHmgww (envelope-from ) for ; Mon, 03 Apr 2023 15:10:00 +0000 To: gdb-patches@sourceware.org Subject: [PATCH 0/1] [gdb/testsuite] Run test-case with all host/target boards Date: Mon, 3 Apr 2023 17:09:56 +0200 Message-Id: <20230403150957.28921-1-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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" Directory gdb/testsuite/boards contains a number of host/target boards, which run a test-case (or test-cases) in a different way. The benefits of using these boards are: - improving test coverage of gdb, - making the testsuite more robust, and - making sure the test-cases work for non-native and remote setups. Each board is slightly different, and developers need to learn how to use each one, what parameters to pass and how, which ones can be using in combination with each other. This is a threshold to start using them. And then there quite a few, so typically only a few will be used by each developer (I think). This patch makes it possible to run a test-case with all the boards, using a single invocation. The script is designed as a make check drop-in replacement (though in the strictest sense it's not, because it doesn't use RUNTESTFLAGS). An example make check use is: ... $ cd build/gdb/testsuite $ make check RUNTESTFLAGS=gdb.base/advance.exp ... === gdb Summary === # of expected passes 8 gdb version 14.0.50.20230403-git -nw -nx -iex "set height 0" \ -iex "set width 0" -data-directory ./build/gdb/data-directory ... And an example of make-check-all.sh for the same test-case is: ... $ ~/gdb/src/gdb/contrib/make-check-all.sh gdb.base/advance.exp LOCAL: # of expected passes 8 TARGET BOARD: cc-with-gdb-index # of expected passes 8 TARGET BOARD: cc-with-debug-names # of expected passes 8 TARGET BOARD: cc-with-dwz # of expected passes 8 TARGET BOARD: cc-with-dwz-m # of expected passes 8 TARGET BOARD: cc-with-gnu-debuglink # of expected passes 8 TARGET BOARD: debug-types # of expected passes 8 TARGET BOARD: dwarf4-gdb-index # of expected passes 8 TARGET BOARD: dwarf64 # of untested testcases 1 TARGET BOARD: fission # of expected passes 8 TARGET BOARD: fission-dwp # of expected passes 8 TARGET BOARD: gold # of expected passes 8 TARGET BOARD: gold-gdb-index # of expected passes 8 TARGET BOARD: readnow # of expected passes 8 TARGET BOARD: stabs # of expected passes 8 TARGET BOARD: native-extended-gdbserver # of expected passes 8 TARGET BOARD: native-gdbserver # of expected passes 8 TARGET BOARD: native-stdio-gdbserver # of expected passes 8 TARGET BOARD: remote-gdbserver-on-localhost # of expected passes 8 TARGET BOARD: remote-stdio-gdbserver # of expected passes 8 HOST BOARD: local-remote-host, TARGET BOARD: remote-gdbserver-on-localhost # of expected passes 8 HOST BOARD: local-remote-host, TARGET BOARD: remote-stdio-gdbserver # of expected passes 8 HOST BOARD: local-remote-host-notty, TARGET BOARD: remote-gdbserver-on-localhost # of expected passes 8 HOST BOARD: local-remote-host-notty, TARGET BOARD: remote-stdio-gdbserver # of expected passes 8 HOST/TARGET BOARD: local-remote-host-native # of expected passes 8 ... Note that the dwarf64 board doesn't work, because my system compiler is gcc 7.5.0, which doesn't support -gdwarf64. An annoying property of the remote host/target boards is that they dump files into the home dir. This problem can be worked around by using the --host-user and --target-user switches, in combination with test accounts. Using the test accounts has the additional benefit that it triggers more strict checking of build/host/target file manipulations. Tom de Vries (1): [gdb/contrib] Add make-check-all.sh gdb/contrib/make-check-all.sh | 255 ++++++++++++++++++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100755 gdb/contrib/make-check-all.sh base-commit: 2e411b8c68eb2b035b31d5b00d940d4be1a0928b -- 2.35.3