diff options
author | Pierre Muller <muller@sourceware.org> | 2009-05-30 07:58:42 +0000 |
---|---|---|
committer | Pierre Muller <muller@sourceware.org> | 2009-05-30 07:58:42 +0000 |
commit | f2292c6500ee227d3fc6a630f373cf4a59940d50 (patch) | |
tree | 56f52c2d4f06436ca796402e0058bcccb2e50379 /gdb | |
parent | 8893fa20206a4f651a5469eb0dfae419c178f2a7 (diff) | |
download | gdb-f2292c6500ee227d3fc6a630f373cf4a59940d50.zip gdb-f2292c6500ee227d3fc6a630f373cf4a59940d50.tar.gz gdb-f2292c6500ee227d3fc6a630f373cf4a59940d50.tar.bz2 |
* 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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/macscp.exp | 28 |
2 files changed, 33 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 01ee306..cedabf1 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +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. + 2009-05-29 Doug Evans <dje@google.com> * gdb.threads/hand-call-in-threads.exp: New. diff --git a/gdb/testsuite/gdb.base/macscp.exp b/gdb/testsuite/gdb.base/macscp.exp index 351c0ec..55c4d31 100644 --- a/gdb/testsuite/gdb.base/macscp.exp +++ b/gdb/testsuite/gdb.base/macscp.exp @@ -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 expected} { 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}} |