Re: [RFA] Further work on constvars.exp

Michael Snyder
2001-09-27T14:36:00Z

Fernando Nasser wrote:
>
> Michael Snyder wrote:
> >
> > Building on the start that Corinna Vinschen made --
> >
>
> OK with me.

Committed.

> > ------------------------------------------------------------------------
> > 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