From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7159 invoked by alias); 3 Feb 2009 14:36:56 -0000 Received: (qmail 7150 invoked by uid 22791); 3 Feb 2009 14:36:55 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33,J_CHICKENPOX_63 X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.151) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 03 Feb 2009 14:36:49 +0000 Received: from baal.u-strasbg.fr (baal.u-strasbg.fr [IPv6:2001:660:2402::41]) by mailhost.u-strasbg.fr (8.14.2/jtpda-5.5pre1) with ESMTP id n13Eah9X050370 ; Tue, 3 Feb 2009 15:36:43 +0100 (CET) Received: from mailserver.u-strasbg.fr (ms3.u-strasbg.fr [IPv6:2001:660:2402:d::12]) by baal.u-strasbg.fr (8.14.0/jtpda-5.5pre1) with ESMTP id n13EahuS047018 ; Tue, 3 Feb 2009 15:36:43 +0100 (CET) (envelope-from muller@ics.u-strasbg.fr) Received: from d620muller (www-ics.u-strasbg.fr [130.79.210.225]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id n13EahAX017968 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) ; Tue, 3 Feb 2009 15:36:43 +0100 (CET) (envelope-from muller@ics.u-strasbg.fr) From: "Pierre Muller" To: "'Daniel Jacobowitz'" Cc: References: <011801c92a03$4b71afa0$e2550ee0$@u-strasbg.fr> <001401c92af1$cf8821e0$6e9865a0$@u-strasbg.fr> <004a01c97f96$637bced0$2a736c70$@u-strasbg.fr> <000001c9814b$919b63a0$b4d22ae0$@u-strasbg.fr> <20090201182834.GE4597@caradoc.them.org> In-Reply-To: <20090201182834.GE4597@caradoc.them.org> Subject: [RFC-v2] Use untested for macscp.exp if no macro information generated Date: Tue, 03 Feb 2009 14:36:00 -0000 Message-ID: <000801c9860c$d5dc8ba0$8195a2e0$@u-strasbg.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-02/txt/msg00060.txt.bz2 Thanks for your feedback Daniel, Here is a new lighter version. I finally switch from untested to unsupported, which seems closer to reality as it is an unsupported feature (of the compiler). Again, the test with "info source" only works once a source file is loaded, which is the reason why this test is not put at the very start of macscp.exp. With that patch, doing $ make check RUNTESTFLAGS="gdb.base/macscp.exp" gives this: $ cat gdb.sum Test Run By Pierre on Tue Feb 3 15:24:03 2009 Native configuration is i686-pc-cygwin === gdb tests === Schedule of variations: unix Running target unix Running ../../../src/gdb/testsuite/gdb.base/macscp.exp ... PASS: gdb.base/macscp.exp: list main FAIL: gdb.base/macscp.exp: info macro WHERE after `list main' (undefined) UNSUPPORTED: gdb.base/macscp.exp: Skipping test because debug information does n ot include macro information. === gdb Summary === # of expected passes 1 # of unexpected failures 1 # of unsupported tests 1 /usr/local/src/gdbcvs/build/gdb/testsuite/../../gdb/gdb version 6.8.50.20090203 -cvs -nw -nx Pierre Muller Pascal language support maintainer for GDB gdb/testsuite/ChangeLog entry: 2009-02-03 Pierre Muller * gdb.base/macscp.exp (info_macro): Return undefined if undefined. (check_macro): Return 1 if undefined. If first test fails, check if macro debug information is available, and report unsupported test if no macro information is found. Index: gdb/testsuite/gdb.base/macscp.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/macscp.exp,v retrieving revision 1.19 diff -u -p -r1.19 macscp.exp --- gdb/testsuite/gdb.base/macscp.exp 3 Jan 2009 05:58:03 -0000 1.19 +++ gdb/testsuite/gdb.base/macscp.exp 3 Feb 2009 14:24:55 -0000 @@ -152,7 +152,7 @@ proc info_macro {macro} { switch -exact -- $definition { no-macro-info { return no-macro-info } timeout { return timeout } - undefined - + undefined { return undefined } default { if {[llength $location] >= 1} { return [concat $location [list $definition]] @@ -178,6 +178,10 @@ proc check_macro {macro expected where} xfail "executable includes no macro debugging information" return 1 } + undefined { + fail "info macro $macro $where (undefined)" + return 1 + } timeout { fail "info macro $macro $where (timeout)" } @@ -199,8 +203,28 @@ proc list_and_check_macro {func macro ex if {[list_and_check_macro main WHERE {macscp1.c {before macscp1_3}}]} { - return 0 + global verbose + set macro_support "unknown" + send_gdb "info source\n" + gdb_test_multiple "info source" "Test macro information" { + -re "Includes preprocessor macro info\..*$gdb_prompt $" { + set macro_support 1 + verbose "Source has macro information" + } + -re "Does not include preprocessor macro info\..*$gdb_prompt $" { + set macro_support 0 + verbose "Source has no macro information" + } + default { + warning "couldn't check macro support (no valid response)." + } + } + if {$macro_support == 0} { + unsupported "Skipping test because debug information does not include macro information." + return 0 + } } + list_and_check_macro macscp2_2 WHERE {macscp2.h macscp1.c {before macscp2_2}} list_and_check_macro macscp3_2 WHERE {macscp3.h macscp1.c {before macscp3_2}}