[PING] [RFC-v2] Use untested for macscp.exp if no macro information generated

Pierre Muller muller@ics.u-strasbg.fr
Wed Feb 18 22:59:00 GMT 2009


I didn't get any feedback on this one.
Should I resend it as a RFA?

Pierre Muller
Pascal language support maintainer for GDB



> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Pierre Muller
> Envoyé : Tuesday, February 03, 2009 3:37 PM
> À : 'Daniel Jacobowitz'
> Cc : gdb-patches@sourceware.org
> Objet : [RFC-v2] Use untested for macscp.exp if no macro information
> generated
> 
> 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  <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/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}}
> 



More information about the Gdb-patches mailing list