[RFA] Further work on constvars.exp

Fernando Nasser fnasser@redhat.com
Thu Sep 27 14:15:00 GMT 2001


Michael Snyder wrote:
> 
> Building on the start that Corinna Vinschen made --
> 

OK with me.


>   ------------------------------------------------------------------------
> 2001-09-27  Michael Snyder  <msnyder@redhat.com>
> 
>         * lib/gdb.exp (test_debug_format): New proc.
>         (setup_xfail_format): Use new proc test_debug_format.
>         * gdb.base/constvars.exp (local_compiler_xfail_check): New
>         proc; use new service proc test_debug_format.
>         Replace all other "gcc_compiled" tests with this test.
> 
> Index: lib/gdb.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
> retrieving revision 1.12
> diff -c -3 -p -r1.12 gdb.exp
> *** gdb.exp     2001/08/30 16:34:04     1.12
> --- gdb.exp     2001/09/27 20:54:44
> *************** proc get_debug_format { } {
> *** 1424,1438 ****
>   # expected to fail, 0 otherwise (or if it is unknown).  Must have
>   # previously called get_debug_format.
> 
> ! proc setup_xfail_format { format } {
>       global debug_format
> 
>       if [string match $debug_format $format] then {
> -       setup_xfail "*-*-*"
>         return 1;
>       }
>       return 0
> ! }
> 
>   proc gdb_step_for_stub { } {
>       global gdb_prompt;
> --- 1424,1446 ----
>   # expected to fail, 0 otherwise (or if it is unknown).  Must have
>   # previously called get_debug_format.
> 
> ! proc test_debug_format { format } {
>       global debug_format
> 
>       if [string match $debug_format $format] then {
>         return 1;
>       }
>       return 0
> ! }
> !
> ! proc setup_xfail_format { format } {
> !     set ret [test_debug_format format];
> !
> !     if [expr $ret != 0] then {
> !       setup_xfail "*-*-*"
> !     }
> !     return $ret;
> ! }
> 
>   proc gdb_step_for_stub { } {
>       global gdb_prompt;
> Index: gdb.base/constvars.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.base/constvars.exp,v
> retrieving revision 1.5
> diff -c -3 -p -r1.5 constvars.exp
> *** constvars.exp       2001/09/26 16:06:28     1.5
> --- constvars.exp       2001/09/27 20:54:44
> *************** if ![runto_main] then {
> *** 72,77 ****
> --- 72,90 ----
>       continue
>   }
> 
> + get_debug_format
> +
> + proc local_compiler_xfail_check { } {
> +     global gcc_compiled;
> +
> +     if {$gcc_compiled} then {
> +       if { ![test_debug_format "HP"] \
> +               && ![test_debug_format "DWARF 2"] } then {
> +           setup_xfail "*-*-*"
> +       }
> +     }
> + }
> +
>   send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
> 
>       send_gdb "cont\n"
> *************** send_gdb "break marker1\n" ; gdb_expect
> *** 107,113 ****
> 
>   # test function parameters
> 
> ! if {$gcc_compiled} then { setup_xfail "*-*-*" }
>   send_gdb "ptype qux1\n"
>   gdb_expect {
>       -re "type = int \\(const char, const char, const char \\*, char \\* const\\).*$gdb_prompt $" {
> --- 120,126 ----
> 
>   # test function parameters
> 
> ! local_compiler_xfail_check
>   send_gdb "ptype qux1\n"
>   gdb_expect {
>       -re "type = int \\(const char, const char, const char \\*, char \\* const\\).*$gdb_prompt $" {
> *************** gdb_expect {
> *** 120,127 ****
>   # test vars and pointers
> 
>   proc do_constvar_tests {} {
> -     global gcc_compiled
> -
>       gdb_test "print lave" " = 66 'B'"
>       gdb_test "ptype lave" "type = char"
>       gdb_test "print lavish" " = 10 '\\\\n'"
> --- 133,138 ----
> *************** proc do_constvar_tests {} {
> *** 129,264 ****
>       gdb_test "print lax" " = 20"
>       gdb_test "ptype lax" "type = short.*"
>       gdb_test "print lecherous" " = 30"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lecherous" "type = (unsigned short|short unsigned)( int)?"
>       gdb_test "print lechery" " = 40"
>       gdb_test "ptype lechery" "type = long.*"
>       gdb_test "print lectern" " = 50"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lectern" "type = (unsigned long|long unsigned)( int)?"
>       gdb_test "print leeway" " = 60"
>       gdb_test "ptype leeway" "type = float"
>       gdb_test "print legacy" " = 70"
>       gdb_test "ptype legacy" "type = double"
>       gdb_test "print laconic" " = 65 'A'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype laconic" "type = const char"
>       gdb_test "print laggard" " = 1 '.001'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype laggard" "type = const unsigned char"
>       gdb_test "print lagoon" " = 2"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lagoon" "type = const short( int)?"
>       gdb_test "print laity" " = 3"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype laity" "type = const (unsigned short|short unsigned)( int)?"
>       gdb_test "print lambent" " = 4"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lambent" "type = const long( int)?"
>       gdb_test "print laminated" " = 5"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype laminated" "type = const (unsigned long|long unsigned)( int)?"
>       gdb_test "print lampoon" " = 6"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lampoon" "type = const float"
>       gdb_test "print languid" " = 7"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype languid" "type = const double"
>       gdb_test "print *legend" " = 66 'B'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype legend" "type = const char \\*"
>       gdb_test "print *legerdemain" " = 10 '\\\\n'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype legerdemain" "type = const unsigned char \\*"
>       gdb_test "print *leniency" " = 20"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype leniency" "type = const short( int)? \\*"
>       gdb_test "print *leonine" " = 30"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype leonine" "type = const (unsigned short|short unsigned)( int)? \\*"
>       gdb_test "print *lesion" " = 40"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lesion" "type = const long( int)? \\*"
>       gdb_test "print *lethal" " = 50"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lethal" "type = const (unsigned long|long unsigned)( int)? \\*"
>       gdb_test "print *lethargic" " = 60"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lethargic" "type = const float \\*"
>       gdb_test "print *levity" " = 70"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype levity" "type = const double \\*"
>       gdb_test "print *lewd" " = 65 'A'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lewd" "type = const char \\* const"
>       gdb_test "print *lexicographer" " = 1 '.001'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lexicographer" "type = const unsigned char \\* const"
>       gdb_test "print *lexicon" " = 2"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lexicon" "type = const short( int)? \\* const"
>       gdb_test "print *liaison" " = 3"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype liaison" "type = const (unsigned short|short unsigned)( int)? \\* const"
>       gdb_test "print *libation" " = 4"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype libation" "type = const long( int)? \\* const"
>       gdb_test "print *libelous" " = 5"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype libelous" "type = const (unsigned long|long unsigned)( int)? \\* const"
>       gdb_test "print *libertine" " = 6"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype libertine" "type = const float \\* const"
>       gdb_test "print *libidinous" " = 7"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype libidinous" "type = const double \\* const"
>       gdb_test "print *languish" " = 65 'A'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype languish" "type = const char \\*"
>       gdb_test "print *languor" " = 1 '.001'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype languor" "type = const unsigned char \\*"
>       gdb_test "print *lank" " = 2"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lank" "type = const short( int)? \\*"
>       gdb_test "print *lapidary" " = 3"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lapidary" "type = const (unsigned short|short unsigned)( int)? \\*"
>       gdb_test "print *larceny" " = 4"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype larceny" "type = const long( int)? \\*"
>       gdb_test "print *largess" " = 5"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype largess" "type = const (unsigned long|long unsigned)( int)? \\*"
>       gdb_test "print *lascivious" " = 6"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lascivious" "type = const float \\*"
>       gdb_test "print *lassitude" " = 7"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lassitude" "type = const double \\*"
>       gdb_test "print *lamprey" " = 66 'B'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lamprey" "type = char \\* const"
>       gdb_test "print *lariat" " = 10 '\\\\n'"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lariat" "type = unsigned char \\* const"
>       gdb_test "print *laudanum" " = 20"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype laudanum" "type = short( int)? \\* const"
>       gdb_test "print *lecithin" " = 30"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lecithin" "type = (unsigned short|short unsigned)( int)? \\* const"
>       gdb_test "print *leviathan" " = 40"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype leviathan" "type = long( int)? \\* const"
>       gdb_test "print *libretto" " = 50"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype libretto" "type = (unsigned long|long unsigned)( int)? \\* const"
>       gdb_test "print *lissome" " = 60"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype lissome" "type = float \\* const"
>       gdb_test "print *locust" " = 70"
> !     if {$gcc_compiled} then { setup_xfail "*-*-*" }
>       gdb_test "ptype locust" "type = double \\* const"
>   }
> 
> --- 140,276 ----
>       gdb_test "print lax" " = 20"
>       gdb_test "ptype lax" "type = short.*"
>       gdb_test "print lecherous" " = 30"
> !     local_compiler_xfail_check
>       gdb_test "ptype lecherous" "type = (unsigned short|short unsigned)( int)?"
>       gdb_test "print lechery" " = 40"
>       gdb_test "ptype lechery" "type = long.*"
>       gdb_test "print lectern" " = 50"
> !     local_compiler_xfail_check
>       gdb_test "ptype lectern" "type = (unsigned long|long unsigned)( int)?"
>       gdb_test "print leeway" " = 60"
>       gdb_test "ptype leeway" "type = float"
>       gdb_test "print legacy" " = 70"
>       gdb_test "ptype legacy" "type = double"
>       gdb_test "print laconic" " = 65 'A'"
> !     local_compiler_xfail_check
>       gdb_test "ptype laconic" "type = const char"
>       gdb_test "print laggard" " = 1 '.001'"
> !     local_compiler_xfail_check
>       gdb_test "ptype laggard" "type = const unsigned char"
>       gdb_test "print lagoon" " = 2"
> !     local_compiler_xfail_check
>       gdb_test "ptype lagoon" "type = const short( int)?"
>       gdb_test "print laity" " = 3"
> !     local_compiler_xfail_check
>       gdb_test "ptype laity" "type = const (unsigned short|short unsigned)( int)?"
>       gdb_test "print lambent" " = 4"
> !     local_compiler_xfail_check
>       gdb_test "ptype lambent" "type = const long( int)?"
>       gdb_test "print laminated" " = 5"
> !     local_compiler_xfail_check
>       gdb_test "ptype laminated" "type = const (unsigned long|long unsigned)( int)?"
>       gdb_test "print lampoon" " = 6"
> !     local_compiler_xfail_check
>       gdb_test "ptype lampoon" "type = const float"
>       gdb_test "print languid" " = 7"
> !     local_compiler_xfail_check
>       gdb_test "ptype languid" "type = const double"
>       gdb_test "print *legend" " = 66 'B'"
> !     local_compiler_xfail_check
>       gdb_test "ptype legend" "type = const char \\*"
>       gdb_test "print *legerdemain" " = 10 '\\\\n'"
> !     local_compiler_xfail_check
>       gdb_test "ptype legerdemain" "type = const unsigned char \\*"
>       gdb_test "print *leniency" " = 20"
> !     local_compiler_xfail_check
>       gdb_test "ptype leniency" "type = const short( int)? \\*"
>       gdb_test "print *leonine" " = 30"
> !     local_compiler_xfail_check
>       gdb_test "ptype leonine" "type = const (unsigned short|short unsigned)( int)? \\*"
>       gdb_test "print *lesion" " = 40"
> !     local_compiler_xfail_check
>       gdb_test "ptype lesion" "type = const long( int)? \\*"
>       gdb_test "print *lethal" " = 50"
> !     local_compiler_xfail_check
>       gdb_test "ptype lethal" "type = const (unsigned long|long unsigned)( int)? \\*"
>       gdb_test "print *lethargic" " = 60"
> !     local_compiler_xfail_check
>       gdb_test "ptype lethargic" "type = const float \\*"
>       gdb_test "print *levity" " = 70"
> !     local_compiler_xfail_check
>       gdb_test "ptype levity" "type = const double \\*"
>       gdb_test "print *lewd" " = 65 'A'"
> !     local_compiler_xfail_check
>       gdb_test "ptype lewd" "type = const char \\* const"
>       gdb_test "print *lexicographer" " = 1 '.001'"
> !     local_compiler_xfail_check
>       gdb_test "ptype lexicographer" "type = const unsigned char \\* const"
>       gdb_test "print *lexicon" " = 2"
> !     local_compiler_xfail_check
>       gdb_test "ptype lexicon" "type = const short( int)? \\* const"
>       gdb_test "print *liaison" " = 3"
> !     local_compiler_xfail_check
>       gdb_test "ptype liaison" "type = const (unsigned short|short unsigned)( int)? \\* const"
>       gdb_test "print *libation" " = 4"
> !     local_compiler_xfail_check
>       gdb_test "ptype libation" "type = const long( int)? \\* const"
>       gdb_test "print *libelous" " = 5"
> !     local_compiler_xfail_check
>       gdb_test "ptype libelous" "type = const (unsigned long|long unsigned)( int)? \\* const"
>       gdb_test "print *libertine" " = 6"
> !     local_compiler_xfail_check
>       gdb_test "ptype libertine" "type = const float \\* const"
>       gdb_test "print *libidinous" " = 7"
> !     local_compiler_xfail_check
>       gdb_test "ptype libidinous" "type = const double \\* const"
>       gdb_test "print *languish" " = 65 'A'"
> !     local_compiler_xfail_check
>       gdb_test "ptype languish" "type = const char \\*"
>       gdb_test "print *languor" " = 1 '.001'"
> !     local_compiler_xfail_check
>       gdb_test "ptype languor" "type = const unsigned char \\*"
>       gdb_test "print *lank" " = 2"
> !     local_compiler_xfail_check
>       gdb_test "ptype lank" "type = const short( int)? \\*"
>       gdb_test "print *lapidary" " = 3"
> !     local_compiler_xfail_check
>       gdb_test "ptype lapidary" "type = const (unsigned short|short unsigned)( int)? \\*"
>       gdb_test "print *larceny" " = 4"
> !     local_compiler_xfail_check
>       gdb_test "ptype larceny" "type = const long( int)? \\*"
>       gdb_test "print *largess" " = 5"
> !     local_compiler_xfail_check
>       gdb_test "ptype largess" "type = const (unsigned long|long unsigned)( int)? \\*"
>       gdb_test "print *lascivious" " = 6"
> !     local_compiler_xfail_check
> !
>       gdb_test "ptype lascivious" "type = const float \\*"
>       gdb_test "print *lassitude" " = 7"
> !     local_compiler_xfail_check
>       gdb_test "ptype lassitude" "type = const double \\*"
>       gdb_test "print *lamprey" " = 66 'B'"
> !     local_compiler_xfail_check
>       gdb_test "ptype lamprey" "type = char \\* const"
>       gdb_test "print *lariat" " = 10 '\\\\n'"
> !     local_compiler_xfail_check
>       gdb_test "ptype lariat" "type = unsigned char \\* const"
>       gdb_test "print *laudanum" " = 20"
> !     local_compiler_xfail_check
>       gdb_test "ptype laudanum" "type = short( int)? \\* const"
>       gdb_test "print *lecithin" " = 30"
> !     local_compiler_xfail_check
>       gdb_test "ptype lecithin" "type = (unsigned short|short unsigned)( int)? \\* const"
>       gdb_test "print *leviathan" " = 40"
> !     local_compiler_xfail_check
>       gdb_test "ptype leviathan" "type = long( int)? \\* const"
>       gdb_test "print *libretto" " = 50"
> !     local_compiler_xfail_check
>       gdb_test "ptype libretto" "type = (unsigned long|long unsigned)( int)? \\* const"
>       gdb_test "print *lissome" " = 60"
> !     local_compiler_xfail_check
>       gdb_test "ptype lissome" "type = float \\* const"
>       gdb_test "print *locust" " = 70"
> !     local_compiler_xfail_check
>       gdb_test "ptype locust" "type = double \\* const"
>   }
> 

-- 
Fernando Nasser
Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9



More information about the Gdb-patches mailing list