This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: PING : [PING] [RFC-v2] Use untested for macscp.exp if no macro information generated
- From: "Pierre Muller" <muller at ics dot u-strasbg dot fr>
- To: <tromey at redhat dot com>
- Cc: "'Daniel Jacobowitz'" <drow at false dot org>, <gdb-patches at sourceware dot org>
- Date: Sat, 30 May 2009 10:04:38 +0200
- Subject: RE: PING : [PING] [RFC-v2] Use untested for macscp.exp if no macro information generated
- References: <011801c92a03$4b71afa0$e2550ee0$@u-strasbg.fr> <m38wsxvin8.fsf@fleche.redhat.com> <001401c92af1$cf8821e0$6e9865a0$@u-strasbg.fr> <004a01c97f96$637bced0$2a736c70$@u-strasbg.fr> <000001c9814b$919b63a0$b4d22ae0$@u-strasbg.fr> <20090201182834.GE4597@caradoc.them.org> <000801c9860c$d5dc8ba0$8195a2e0$@u-strasbg.fr> <000001c9921b$cf82d500$6e887f00$@u-strasbg.fr> <m3d4dfz1ep.fsf@fleche.redhat.com> <000001c99335$837a4d30$8a6ee790$@u-strasbg.fr> <000d01c9d22b$9823cec0$c86b6c40$@u-strasbg.fr> <m3tz33xyuv.fsf@fleche.redhat.com>
Thanks, Tom.
Patch applied.
Pierre
For the record, here is what I checked in:
ChangeLog entry:
2009-05-30 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 report unsupported test if no macro information is found.
Index: gdb.base/macscp.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/macscp.exp,v
retrieving revision 1.21
diff -u -p -r1.21 macscp.exp
--- gdb.base/macscp.exp 29 Apr 2009 07:51:33 -0000 1.21
+++ gdb.base/macscp.exp 30 May 2009 07:54:43 -0000
@@ -155,7 +155,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]]
@@ -181,6 +181,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)"
}
@@ -202,8 +206,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}}