From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de 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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1680534600; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=xGnuvVyTZNZN46ULMkJ2BzImAXChYo1FJxCN/JJY/tk=; b=AJHLtd6BCXnyT35ca3z+FWcvVmiarOgFnDtjHVtBYntwYzsPJMjB8NSGzplnxJuXtKKtWv bJmHIDLhdZlATaV9GMtIVd/JyztdifPYPxzOtRyb2uKksrALRM0878RDJl+4uzUzgJi7Sy ty7JiIqpcUEXoRHqEiUmcS+bXpZaCxk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1680534600; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=xGnuvVyTZNZN46ULMkJ2BzImAXChYo1FJxCN/JJY/tk=; b=lZWa+pD7CuwaqpDJM3ckDOENRkgopKY0dHa8RtlpkPOQL8x+TMpsV/7SAaRomLL5yBM1ia irpTAFPExCzLaICQ== 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 From: Tom de Vries 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-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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