Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: David Carlton <carlton@math.stanford.edu>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: gdb@sources.redhat.com
Subject: Re: [rfc] xfailed tests in gdb.c++/classes.exp
Date: Fri, 28 Feb 2003 17:58:00 -0000	[thread overview]
Message-ID: <ro1isv4mgmz.fsf@jackfruit.Stanford.EDU> (raw)
In-Reply-To: <20030228151521.GA23038@nevyn.them.org>

On Fri, 28 Feb 2003 10:15:21 -0500, Daniel Jacobowitz <drow@mvista.com> said:

> The consensus is obviously that this output is OK.  David, please do
> add the new pass patterns.

Done; patch below.  Interestingly, it turns out that some of the
'ptype class/struct' tests in that file also contained setup_xfails
that should be treated as FAIL as well as treated as PASS (accepting
structs with missing protected/private protection specifiers); I
deleted those setup_xfail lines, too, but left those tests as FAIL.
(GDB currently passes the tests in question.)

I'd also forgotten that there were XFAILs in there that I actually am
seeing that weren't related to this issue: yet another instance of the
nested types bug.  I'll prepare a patch for that shortly.

(Whoops: reading the patch below, I got class public_class slightly
wrong; I'll commit another patch for that in a sec.)

David Carlton
carlton@math.stanford.edu

2003-02-28  David Carlton  <carlton@math.stanford.edu>

	* gdb.c++/classes.exp (test_ptype_class_objects): Accept it if we
	print class instead of struct and/or superfluous protection
	specifiers, as long as the resulting output is equivalent to the
	source code.
	Delete FIXME from end of messages on tests that don't need
	fixing.

Index: classes.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/classes.exp,v
retrieving revision 1.14
diff -u -p -r1.14 classes.exp
--- classes.exp	13 Feb 2003 21:33:20 -0000	1.14
+++ classes.exp	28 Feb 2003 17:44:14 -0000
@@ -55,7 +55,7 @@ proc test_ptype_class_objects {} {
 
     # Note that struct members are public by default, so we don't print
     # "public:" for the public members of structs.
-    # Accept it as an expected failure if gdb just fails to distinguish between
+    # Accept it if gdb just fails to distinguish between
     # class and struct, and everything else is OK.
 
     send_gdb "ptype struct default_public_struct\n"
@@ -64,8 +64,7 @@ proc test_ptype_class_objects {} {
 	    pass "ptype struct default_public_struct"
 	}
 	-re "type = class default_public_struct \{$nl.*int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
-	    fail "ptype struct default_public_struct"
+	    pass "ptype struct default_public_struct"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype struct default_public_struct" }
 	timeout { fail "ptype struct default_public_struct (timeout)" ; return }
@@ -73,7 +72,7 @@ proc test_ptype_class_objects {} {
 
     # Note that struct members are public by default, so we don't print
     # "public:" for the public members of structs.
-    # Accept it as an expected failure if gdb just fails to distinguish between
+    # Accept it if gdb just fails to distinguish between
     # class and struct, and everything else is OK.
 
     send_gdb "ptype struct explicit_public_struct\n"
@@ -82,75 +81,70 @@ proc test_ptype_class_objects {} {
 	    pass "ptype struct explicit_public_struct"
 	}
 	-re "type = class explicit_public_struct \{$nl.*int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
-	    fail "ptype struct explicit_public_struct"
+	    pass "ptype struct explicit_public_struct"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype struct explicit_public_struct" }
 	timeout { fail "ptype struct explicit_public_struct (timeout)" ; return }
     }
 
-    # Accept it as an expected failure if gdb just fails to distinguish between
+    # Accept it if gdb just fails to distinguish between
     # class and struct, and everything else is OK.
 
     send_gdb "ptype struct protected_struct\n"
     gdb_expect {
 	-re "type = struct protected_struct \{${ws}protected:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
-	    pass "ptype struct protected_struct (FIXME)"
+	    pass "ptype struct protected_struct"
 	}
 	-re "type = class protected_struct \{${ws}protected:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
-	    fail "ptype struct protected_struct (FIXME)"
+	    pass "ptype struct protected_struct"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype struct protected_struct" }
 	timeout { fail "ptype struct protected_struct (timeout)" ; return }
     }
 
-    # Accept it as an expected failure if gdb just fails to distinguish between
+    # Accept it if gdb just fails to distinguish between
     # class and struct, and everything else is OK.
 
     send_gdb "ptype struct private_struct\n"
     gdb_expect {
 	-re "type = struct private_struct \{${ws}private:${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
-	    pass "ptype struct private_struct (FIXME)"
+	    pass "ptype struct private_struct"
 	}
 	-re "type = class private_struct \{${ws}private:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" { 
-	    setup_xfail "*-*-*"
-	    fail "ptype struct private_struct (FIXME)"
+	    pass "ptype struct private_struct"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype struct private_struct" }
 	timeout { fail "ptype struct private_struct (timeout)" ; return }
     }
 
-    # Accept it as an expected failure if gdb just fails to distinguish between
+    # Accept it if gdb just fails to distinguish between
     # class and struct, and everything else is OK.
 
     send_gdb "ptype struct mixed_protection_struct\n"
     gdb_expect {
 	-re "type = struct mixed_protection_struct \{${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl\}$nl$gdb_prompt $" {
-	    pass "ptype struct mixed_protection_struct (FIXME)"
+	    pass "ptype struct mixed_protection_struct"
 	}
         -re "type = struct mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl.*\}$nl$gdb_prompt $" {
             pass "ptype struct mixed_protection_struct (extra public)"
         }
 	-re "type = class mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
-	    fail "ptype struct mixed_protection_struct (FIXME)"
+	    pass "ptype struct mixed_protection_struct"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype struct mixed_protection_struct" }
 	timeout { fail "ptype struct mixed_protection_struct (timeout)" ; return }
     }
 
-    # Accept it as an expected failure if gdb just fails to distinguish between
+    # Accept it if gdb just fails to distinguish between
     # class and struct, and everything else is OK.
 
     send_gdb "ptype class public_class\n"
     gdb_expect {
 	-re "type = class public_class \{${ws}public:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    pass "ptype class public_class (FIXME)"
+	    pass "ptype class public_class"
 	}
 	-re "type = struct public_class \{${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
-	    fail "ptype class public_class (FIXME)"
+	    fail "ptype class public_class"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype class public_class" }
 	timeout { fail "ptype class public_class (timeout)" ; return }
@@ -162,14 +156,13 @@ proc test_ptype_class_objects {} {
 	    pass "ptype class protected_class"
 	}
 	-re "type = struct protected_class \{${ws}int a;${ws}int b;$nl\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
 	    fail "ptype class protected_class"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype class protected_class" }
 	timeout { fail "ptype class protected_class (timeout)" ; return }
     }
 
-    # Accept it as an expected failure if gdb just emits a superflous "private:"
+    # Accept it if gdb just emits a superflous "private:"
     # attribute, since classes default to private and for consistency with
     # structs (where we don't print the "public:" attribute) we don't print
     # the "private:" attribute.
@@ -177,11 +170,10 @@ proc test_ptype_class_objects {} {
     send_gdb "ptype class default_private_class\n"
     gdb_expect {
 	-re "type = class default_private_class \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    pass "ptype class default_private_class (FIXME)"
+	    pass "ptype class default_private_class"
 	}
 	-re "type = class default_private_class \{${ws}private:${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
-	    fail "ptype class default_private_class (FIXME)"
+	    pass "ptype class default_private_class"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype class default_private_class" }
 	timeout { fail "ptype class default_private_class (timeout)" ; return }
@@ -193,10 +185,9 @@ proc test_ptype_class_objects {} {
 	    pass "ptype class explicit_private_class"
 	}
         -re "type = class explicit_private_class \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-            pass "ptype class explicit_private_class (OK for HP aCC)"
+            pass "ptype class explicit_private_class"
         }
 	-re "type = struct explicit_private_class \{${ws}int a;${ws}int b;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
 	    fail "ptype class explicit_private_class"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype class explicit_private_class" }
@@ -209,7 +200,6 @@ proc test_ptype_class_objects {} {
 	    pass "ptype class mixed_protection_class"
 	}
 	-re "type = struct mixed_protection_class \{${ws}int a;${ws}int b;${ws}int c;${ws}int d;${ws}int e;${ws}int f;${ws}int g;${ws}int h;${ws}int i;$nl.*\}$nl$gdb_prompt $" {
-	    setup_xfail "*-*-*"
 	    fail "ptype class mixed_protection_class"
 	}
 	-re ".*$gdb_prompt $" { fail "ptype class mixed_protection_class" }


  reply	other threads:[~2003-02-28 17:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-28  5:01 Michael Elizabeth Chastain
2003-02-28 15:15 ` Daniel Jacobowitz
2003-02-28 17:58   ` David Carlton [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-02-28  3:51 Michael Elizabeth Chastain
2003-02-28  3:59 ` Daniel Jacobowitz
2003-02-28 13:40   ` Paul Koning
2003-02-28 20:58 ` Jason Molenda
2003-01-03 23:27 Michael Elizabeth Chastain
2003-01-03 22:53 David Carlton
2003-02-28  1:30 ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ro1isv4mgmz.fsf@jackfruit.Stanford.EDU \
    --to=carlton@math.stanford.edu \
    --cc=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox