From patchwork Wed Jan 28 12:58:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rainer Orth X-Patchwork-Id: 433860 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 5A23F140145 for ; Wed, 28 Jan 2015 23:59:05 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=rF0twfdN59IUru+SB3u0oIn6hultoDum4Xc9lnlYcTinwZHvfs xkOsT8aLMipg0gCstL1fLvBlcPhrnu0D/oFVoguWQboPv5O2hApyWcftoAt/l0og DgGCQW6s+ABJ6SJZ9uhajsX4KgPGDoGwuiN2/CMRt4BM2QMjEWd/f3saw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=ob/K35ASvq3Yexax+Zx/p73WCQA=; b=kTiogNCeyWtEyELqUIqm l3RWElsselEiqufh55XImvymAkrBuuTP6VYl6ANcmVFH61gqLTSPFlodkw9BY02b T4g9oO+1+ChBsHBIZgnYvpjku6MFtFxoUy8mqpQqblo0UvFy+n/7Pz92YOjqy80k E7+W5bGAWU7SIXZ0tJsSUog= Received: (qmail 13699 invoked by alias); 28 Jan 2015 12:58:20 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 13658 invoked by uid 89); 28 Jan 2015 12:58:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL, RCVD_IN_DNSWL_NONE, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: smtp-relay.CeBiTec.Uni-Bielefeld.DE Received: from snape.CeBiTec.Uni-Bielefeld.DE (HELO smtp-relay.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Jan 2015 12:58:16 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id A005DFE4; Wed, 28 Jan 2015 13:58:13 +0100 (CET) Received: from smtp-relay.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 4zCV57DJD7Zn; Wed, 28 Jan 2015 13:58:10 +0100 (CET) Received: from lokon.CeBiTec.Uni-Bielefeld.DE (lokon.CeBiTec.Uni-Bielefeld.DE [129.70.161.110]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id C4125FE3; Wed, 28 Jan 2015 13:58:10 +0100 (CET) Received: (from ro@localhost) by lokon.CeBiTec.Uni-Bielefeld.DE (8.14.7+Sun/8.14.7/Submit) id t0SCw9bM022315; Wed, 28 Jan 2015 13:58:09 +0100 (CET) From: Rainer Orth To: gcc-patches@gcc.gnu.org Cc: Alexandre Oliva , Mike Stump , Jakub Jelinek Subject: [testsuite] Run guality tests on Solaris Date: Wed, 28 Jan 2015 13:58:09 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (usg-unix-v) MIME-Version: 1.0 X-IsSubscribed: yes Since the testsuite parallelism has been massively increased some time ago, I'm seing lots of timeouts on slower SPARC hardware (1.2 Ghz UltraSPARC-T2). Closer investigation revealed that this happens on Solaris everywhere, though not so badly that the testsuite 300 second timeout hits. The check_guality test in gcc.dg/guality and g++.dg/guality times out every time. It turns out that while the gfortran.dg/guality test do run, the gcc.dg and g++.dg ones don't. Running check_guality under truss shows that gdb complains No symbol table is loaded. Use the "file" command. and loops from there, unlike gfortran.dg where the command name is passed to gdb. No idea why this doesn't happen on Linux, but the problem is easily cured by adding the command name (which is the actual executable gdb tries to attach to) to the gdb command line. This makes the guality tests run sucessfully on Solaris, even on the slow T2 box. However, the guality tests show dozens or even hundreds of FAILs and/or XPASSes, adding insane amounts of noise to the testsuite results, which nobody seems to be looking into. So I wonder what the best course of action is here: one might consider running them only when a GCC_TEST_RUN_GUALITY environment variable is set, but skip them by default until someone acutally interested in improving results here shows up. Thoughts? Anyway, here's the patch I've used. Ok for mainline? Rainer 2015-01-28 Rainer Orth gcc/testsuite: * gcc.dg/guality/guality.h (main): Add argv[0] to guality_gdb_command. # HG changeset patch # Parent 26a271b29df9b72e6fbdb554a6a8b5e00d94e5ee Skip guality tests on Solaris diff --git a/gcc/testsuite/g++.dg/guality/guality.exp b/gcc/testsuite/g++.dg/guality/guality.exp --- a/gcc/testsuite/g++.dg/guality/guality.exp +++ b/gcc/testsuite/g++.dg/guality/guality.exp @@ -5,7 +5,7 @@ load_lib gcc-gdb-test.exp # Disable on darwin until radr://7264615 is resolved. if { [istarget *-*-darwin*] } { - return + return } if { [istarget "powerpc-ibm-aix*"] } { diff --git a/gcc/testsuite/gcc.dg/guality/guality.exp b/gcc/testsuite/gcc.dg/guality/guality.exp --- a/gcc/testsuite/gcc.dg/guality/guality.exp +++ b/gcc/testsuite/gcc.dg/guality/guality.exp @@ -5,7 +5,7 @@ load_lib gcc-gdb-test.exp # Disable on darwin until radr://7264615 is resolved. if { [istarget *-*-darwin*] } { - return + return } if { [istarget "powerpc-ibm-aix*"] } { diff --git a/gcc/testsuite/gcc.dg/guality/guality.h b/gcc/testsuite/gcc.dg/guality/guality.h --- a/gcc/testsuite/gcc.dg/guality/guality.h +++ b/gcc/testsuite/gcc.dg/guality/guality.h @@ -228,6 +228,16 @@ main (int argc, char *argv[]) } } + if (argv[0]) + { + int len = strlen (guality_gdb_command) + 1 + strlen (argv[0]); + char *buf = (char *) __builtin_alloca (len); + strcpy (buf, guality_gdb_command); + strcat (buf, " "); + strcat (buf, argv[0]); + guality_gdb_command = buf; + } + for (i = 1; i < argc; i++) if (strcmp (argv[i], "--guality-skip") == 0) guality_skip = 1;