Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Pierre Muller" <muller@ics.u-strasbg.fr>
To: <gdb-patches@sourceware.org>
Subject: [RFC] Use untested for macscp.exp if no macro information generated
Date: Wed, 28 Jan 2009 13:32:00 -0000	[thread overview]
Message-ID: <000001c9814b$919b63a0$b4d22ae0$@u-strasbg.fr> (raw)
In-Reply-To: <004a01c97f96$637bced0$2a736c70$@u-strasbg.fr>


I tried to simplify my patch for macro support
in order to get less uninteresting failures.

This test issues a huge number of failures if the
debugging format does not support macro information.
This is the default for gcc-3 on cygwin.

make check RUNTESTFLAGS=gdb.base/macscp.exp
results currently in:
                === gdb Summary ===

# of expected passes            69
# of unexpected failures        158
# of known failures             87
/usr/local/src/gdbcvs/build/gdb/testsuite/../../gdb/gdb version
6.8.50.20090127-cvs -nw -nx

By forcing gcc-4 usage, 
make check RUNTESTFLAGS="gdb.base/macscp.exp CC_FOR_TARGET=gcc-4"
                === gdb Summary ===

# of expected passes            295
# of known failures             19
/usr/local/src/gdbcvs/build/gdb/testsuite/../../gdb/gdb version
6.8.50.20090127-cvs -nw -nx


After this patch:
make check RUNTESTFLAGS=gdb.base/macscp.exp
results currently in:
                === gdb Summary ===
FAIL: gdb.base/macscp.exp: info macro WHERE after `list main' (undefined)

                === gdb Summary ===

# of expected passes            1
# of unexpected failures        1
# of untested testcases         1
/usr/local/src/gdbcvs/build/gdb/testsuite/../../gdb/gdb version
6.8.50.20090127-cvs -nw -nx

The gcc-4 case remains unchanged
which means that targets supporting macro debug information
should remain unaffected by this patch.

 Is this lighter version OK?

  Once again, I was hesitating on the ChangeLog
description...



Pierre Muller
Pascal language support maintainer for GDB



gdb/testsuite/ChangeLog entry:

2009-01-28  Pierre Muller  <muller@ics.u-strasbg.fr>

	* 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 skip test completely if no macro information 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	28 Jan 2009 13:02:15 -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,7 +203,33 @@ 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_expect 10 {
+	-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"
+	}
+	-re "No current source file.*$gdb_prompt $" {
+	    perror "get_macro_support used when no current source file"
+	}
+	-re "$gdb_prompt $" {
+	    warning "couldn't check macro support (no valid response)."
+	}
+	timeout {
+	    warning "couldn't check macro support (timed out)."
+	}
+    }
+    if {$macro_support != 1} {
+	verbose "Skipping $testfile because no macro information is
included."
+	untested $testfile
+	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}}


  reply	other threads:[~2009-01-28 13:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-09 11:37 Results of macscp.exp test on cygwin Pierre Muller
2008-10-09 16:29 ` Tom Tromey
2008-10-09 16:46   ` Pedro Alves
2008-10-09 18:14   ` Daniel Jacobowitz
2008-10-09 20:21     ` Michael Snyder
2008-10-09 22:28       ` Paul Pluzhnikov
2008-10-10 16:04   ` [RFC] " Pierre Muller
2009-01-26  9:13     ` [PING] " Pierre Muller
2009-01-28 13:32       ` Pierre Muller [this message]
2009-02-01 18:28         ` [RFC] Use untested for macscp.exp if no macro information generated Daniel Jacobowitz
2009-02-03 14:36           ` [RFC-v2] " Pierre Muller
2009-02-18 22:59             ` [PING] " Pierre Muller
2009-02-19  8:20               ` Tom Tromey
2009-02-20 10:08                 ` Pierre Muller
2009-05-11 11:30                   ` PING : " Pierre Muller
2009-05-29 23:40                     ` Tom Tromey
2009-05-30  8:04                       ` Pierre Muller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000001c9814b$919b63a0$b4d22ae0$@u-strasbg.fr' \
    --to=muller@ics.u-strasbg.fr \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox