correct and xfail test due to GCC PR55641

Message ID CAENS6EsEULkqVMkq7Wt5JWroMJfDcY6rhV9U6FkjkJhp6DcQCw@mail.gmail.com
State Committed
Headers

Commit Message

David Blaikie April 13, 2014, 7:41 a.m. UTC
  gdb.python/lib-types.exp is erroneously validating buggy GCC behavior.
The attached patch corrects the test and xfails it under GCC with the
appropriate bug.

The corrected test passes with clang.
commit 6601c3836f24356a5b96a8ebcb8b9e3414093414
Author: David Blaikie <dblaikie@gmail.com>
Date:   Sun Apr 13 00:38:47 2014 -0700

    Fix and XFAIL test due to GCC PR55641, passes with clang
    
    gdb/testsuite/
    	* gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
  

Comments

Doug Evans April 24, 2014, 12:12 a.m. UTC | #1
David Blaikie writes:
 > gdb.python/lib-types.exp is erroneously validating buggy GCC behavior.
 > The attached patch corrects the test and xfails it under GCC with the
 > appropriate bug.
 > 
 > The corrected test passes with clang.
 > commit 6601c3836f24356a5b96a8ebcb8b9e3414093414
 > Author: David Blaikie <dblaikie@gmail.com>
 > Date:   Sun Apr 13 00:38:47 2014 -0700
 > 
 >     Fix and XFAIL test due to GCC PR55641, passes with clang
 >     
 >     gdb/testsuite/
 >     	* gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
 > 
 > diff --git gdb/testsuite/ChangeLog gdb/testsuite/ChangeLog
 > index 730c116..b117684 100644
 > --- gdb/testsuite/ChangeLog
 > +++ gdb/testsuite/ChangeLog
 > @@ -1,3 +1,7 @@
 > +2014-04-12  David Blaikie  <dblaikie@gmail.com>
 > +
 > +	* gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
 > +
 >  2014-04-12  Siva Chandra Reddy  <sivachandra@google.com>
 >  	    Doug Evans  <xdje42@gmail.com>
 >  
 > diff --git gdb/testsuite/gdb.python/lib-types.exp gdb/testsuite/gdb.python/lib-types.exp
 > index 8b9ff34..5ead2cb 100644
 > --- gdb/testsuite/gdb.python/lib-types.exp
 > +++ gdb/testsuite/gdb.python/lib-types.exp
 > @@ -103,7 +103,8 @@ gdb_test_multiple "python print (str (basic_type_typedef_const_typedef_class1_ob
 >  # test nested typedef/reference stripping
 >  gdb_test_no_output "python typedef_const_typedef_class1_ref_obj = gdb.parse_and_eval ('typedef_const_typedef_class1_ref_obj')"
 >  gdb_test_no_output "python basic_type_typedef_const_typedef_class1_ref_obj = gdb.types.get_basic_type (typedef_const_typedef_class1_ref_obj.type)"
 > -gdb_test "python print (str (typedef_const_typedef_class1_ref_obj.type))" "const typedef_const_typedef_class1_ref"
 > +if {[test_compiler_info {gcc-*-*}]} { setup_xfail gdb/55641 *-*-* }
 > +gdb_test "python print (str (typedef_const_typedef_class1_ref_obj.type))" "\[\r\n\]+typedef_const_typedef_class1_ref"
 >  set test "nested typedef/ref stripping"
 >  gdb_test_multiple "python print (str (basic_type_typedef_const_typedef_class1_ref_obj))" $test {
 >      -re "\[\r\n\]+class1\[\r\n\]+$gdb_prompt $" {

s,gdb/55641,gcc/55641,

Ok with that change.
Thanks!
  
David Blaikie April 24, 2014, 8:24 p.m. UTC | #2
On Wed, Apr 23, 2014 at 5:12 PM, Doug Evans <dje@google.com> wrote:
> David Blaikie writes:
>  > gdb.python/lib-types.exp is erroneously validating buggy GCC behavior.
>  > The attached patch corrects the test and xfails it under GCC with the
>  > appropriate bug.
>  >
>  > The corrected test passes with clang.
>  > commit 6601c3836f24356a5b96a8ebcb8b9e3414093414
>  > Author: David Blaikie <dblaikie@gmail.com>
>  > Date:   Sun Apr 13 00:38:47 2014 -0700
>  >
>  >     Fix and XFAIL test due to GCC PR55641, passes with clang
>  >
>  >     gdb/testsuite/
>  >      * gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
>  >
>  > diff --git gdb/testsuite/ChangeLog gdb/testsuite/ChangeLog
>  > index 730c116..b117684 100644
>  > --- gdb/testsuite/ChangeLog
>  > +++ gdb/testsuite/ChangeLog
>  > @@ -1,3 +1,7 @@
>  > +2014-04-12  David Blaikie  <dblaikie@gmail.com>
>  > +
>  > +    * gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
>  > +
>  >  2014-04-12  Siva Chandra Reddy  <sivachandra@google.com>
>  >          Doug Evans  <xdje42@gmail.com>
>  >
>  > diff --git gdb/testsuite/gdb.python/lib-types.exp gdb/testsuite/gdb.python/lib-types.exp
>  > index 8b9ff34..5ead2cb 100644
>  > --- gdb/testsuite/gdb.python/lib-types.exp
>  > +++ gdb/testsuite/gdb.python/lib-types.exp
>  > @@ -103,7 +103,8 @@ gdb_test_multiple "python print (str (basic_type_typedef_const_typedef_class1_ob
>  >  # test nested typedef/reference stripping
>  >  gdb_test_no_output "python typedef_const_typedef_class1_ref_obj = gdb.parse_and_eval ('typedef_const_typedef_class1_ref_obj')"
>  >  gdb_test_no_output "python basic_type_typedef_const_typedef_class1_ref_obj = gdb.types.get_basic_type (typedef_const_typedef_class1_ref_obj.type)"
>  > -gdb_test "python print (str (typedef_const_typedef_class1_ref_obj.type))" "const typedef_const_typedef_class1_ref"
>  > +if {[test_compiler_info {gcc-*-*}]} { setup_xfail gdb/55641 *-*-* }
>  > +gdb_test "python print (str (typedef_const_typedef_class1_ref_obj.type))" "\[\r\n\]+typedef_const_typedef_class1_ref"
>  >  set test "nested typedef/ref stripping"
>  >  gdb_test_multiple "python print (str (basic_type_typedef_const_typedef_class1_ref_obj))" $test {
>  >      -re "\[\r\n\]+class1\[\r\n\]+$gdb_prompt $" {
>
> s,gdb/55641,gcc/55641,

Heh, right - thanks for the catch

> Ok with that change.
> Thanks!

Committed in 56083b99d7c76b89ebf3da6aa60ebb4ca80f3683

Thanks!
  

Patch

diff --git gdb/testsuite/ChangeLog gdb/testsuite/ChangeLog
index 730c116..b117684 100644
--- gdb/testsuite/ChangeLog
+++ gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@ 
+2014-04-12  David Blaikie  <dblaikie@gmail.com>
+
+	* gdb.python/lib-types.exp: Fix test and xfail under gcc due to gcc/55641.
+
 2014-04-12  Siva Chandra Reddy  <sivachandra@google.com>
 	    Doug Evans  <xdje42@gmail.com>
 
diff --git gdb/testsuite/gdb.python/lib-types.exp gdb/testsuite/gdb.python/lib-types.exp
index 8b9ff34..5ead2cb 100644
--- gdb/testsuite/gdb.python/lib-types.exp
+++ gdb/testsuite/gdb.python/lib-types.exp
@@ -103,7 +103,8 @@  gdb_test_multiple "python print (str (basic_type_typedef_const_typedef_class1_ob
 # test nested typedef/reference stripping
 gdb_test_no_output "python typedef_const_typedef_class1_ref_obj = gdb.parse_and_eval ('typedef_const_typedef_class1_ref_obj')"
 gdb_test_no_output "python basic_type_typedef_const_typedef_class1_ref_obj = gdb.types.get_basic_type (typedef_const_typedef_class1_ref_obj.type)"
-gdb_test "python print (str (typedef_const_typedef_class1_ref_obj.type))" "const typedef_const_typedef_class1_ref"
+if {[test_compiler_info {gcc-*-*}]} { setup_xfail gdb/55641 *-*-* }
+gdb_test "python print (str (typedef_const_typedef_class1_ref_obj.type))" "\[\r\n\]+typedef_const_typedef_class1_ref"
 set test "nested typedef/ref stripping"
 gdb_test_multiple "python print (str (basic_type_typedef_const_typedef_class1_ref_obj))" $test {
     -re "\[\r\n\]+class1\[\r\n\]+$gdb_prompt $" {