Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: gdb-patches@sources.redhat.com
Subject: RFA/testsuite/c++: Overhaul userdef.exp
Date: Sat, 16 Feb 2002 14:30:00 -0000	[thread overview]
Message-ID: <20020216173012.A12187@nevyn.them.org> (raw)

Userdef.exp was set to PASS tests if GDB's output contained FIXME, xfail
all other output, and contained a pile of HPPA xfail markers.  It hasn't
been substantively checked since the HP merge.

I've removed the xfails; I'm not sure if the tests work on HP aCC, but they
ought to.  If not and someone kindly gives me enough information, I'll fix
them.  I've also made the tests actually check for output, and thus pass
(and highlight the bugs in my last message).

Michael, OK to commit these?

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-02-16  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.c++/userdef.exp: Test overloaded operators properly.
	Remove xfails.

Index: testsuite/gdb.c++/userdef.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/userdef.exp,v
retrieving revision 1.4
diff -u -p -r1.4 userdef.exp
--- userdef.exp	2001/12/07 22:02:23	1.4
+++ userdef.exp	2002/02/16 22:20:02
@@ -64,279 +64,64 @@ send_gdb "break marker1\n" ; gdb_expect 
     }
 
 
-setup_xfail "hppa*-*-*"
-send_gdb "print one+two\n"
-gdb_expect {
-    -re "FIXME.*$gdb_prompt $" {
-        pass "print value of one + two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one two" }
-    timeout           { fail "(timeout) print value of one two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one-two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one - two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one - two" }
-    timeout           { fail "(timeout) print value of one - two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one*two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one * two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one * two" }
-    timeout           { fail "(timeout) print value of one * two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one/two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one / two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one / two" }
-    timeout           { fail "(timeout) print value of one / two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one%two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one % two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one % two" }
-    timeout           { fail "(timeout) print value of one % two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one&&two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one && two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one && two" }
-    timeout           { fail "(timeout) print value of one && two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one||two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one|| two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one|| two" }
-    timeout           { fail "(timeout) print value of one|| two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one&two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one & two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one & two" }
-    timeout           { fail "(timeout) print value of one & two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one|two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one | two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one | two" }
-    timeout           { fail "(timeout) print value of one | two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one ^ two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one ^  two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one ^  two" }
-    timeout           { fail "(timeout) print value of one ^  two" }
-  }
-
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one < two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one <  two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one <  two" }
-    timeout           { fail "(timeout) print value of one <  two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one <= two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one <=  two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one <=  two" }
-    timeout           { fail "(timeout) print value of one <=  two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one > two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one  > two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one >  two" }
-    timeout           { fail "(timeout) print value of one >  two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one >= two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one >=  two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one >=  two" }
-    timeout           { fail "(timeout) print value of one >=  two" }
-  }
-
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one==two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one == two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one == two" }
-    timeout           { fail "(timeout) print value of one == two" }
-  }
-
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one!=two\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one != two"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one != two" }
-    timeout           { fail "(timeout) print value of one != two" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one<<31\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one<<31"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one<<31" }
-    timeout           { fail "(timeout) print value of one<<31" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one>>31\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one>>31"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one>>31" }
-    timeout           { fail "(timeout) print value of one>>31" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print !one\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of !one"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of !one" }
-    timeout           { fail "(timeout) print value of !one" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print ~one\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of ~one"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of ~one" }
-    timeout           { fail "(timeout) print value of ~one" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print -one\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of -one"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of -one" }
-    timeout           { fail "(timeout) print value of -one" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one++\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one++"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one++" }
-    timeout           { fail "(timeout) print value of one++" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print ++one\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of ++one>>31"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of ++one" }
-    timeout           { fail "(timeout) print value of ++one" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one--\n"
-gdb_expect {
-    -re ".*.FIXME*$gdb_prompt $" {
-        pass "print value of one-->>31"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one-->>31" }
-    timeout           { fail "(timeout) print value of one-->>31" }
-  }
-
-
-setup_xfail "hppa*-*-*"
-send_gdb "print --one\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of --one"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of --one" }
-    timeout           { fail "(timeout) print value of --one" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print one+=7\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of one+=7"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of one+=7" }
-    timeout           { fail "(timeout) print value of one+=7" }
-  }
-
-setup_xfail "hppa*-*-*"
-send_gdb "print two=one\n"
-gdb_expect {
-    -re ".*FIXME.*$gdb_prompt $" {
-        pass "print value of two=one"
-      }
-    -re ".*$gdb_prompt $" { xfail "print value of two=one" }
-    timeout           { fail "(timeout) print value of two=one" }
-  }
+gdb_test "print one + two" "\\\$\[0-9\]* = {x = 6, y = 8}"
+
+gdb_test "print one - two" "\\\$\[0-9\]* = {x = -2, y = -2}"
+
+gdb_test "print one * two" "\\\$\[0-9\]* = {x = 8, y = 15}"
+
+gdb_test "print one / two" "\\\$\[0-9\]* = {x = 0, y = 0}"
+
+gdb_test "print one % two" "\\\$\[0-9\]* = {x = 2, y = 3}"
+
+gdb_test "print one && two" "\\\$\[0-9\]* = 1\[\r\n\]"
+
+gdb_test "print one || two" "\\\$\[0-9\]* = 1\[\r\n\]"
+
+gdb_test "print one & two" "\\\$\[0-9\]* = {x = 0, y = 1}"
+
+gdb_test "print one | two" "\\\$\[0-9\]* = {x = 6, y = 7}"
+
+gdb_test "print one ^ two" "\\\$\[0-9\]* = {x = 6, y = 6}"
+
+gdb_test "print one < two" "\\\$\[0-9\]* = 1\[\r\n\]"
+
+gdb_test "print one <= two" "\\\$\[0-9\]* = 1\[\r\n\]"
+
+gdb_test "print one > two" "\\\$\[0-9\]* = 0\[\r\n\]"
+
+gdb_test "print one >= two" "\\\$\[0-9\]* = 0\[\r\n\]"
+
+gdb_test "print one == two" "\\\$\[0-9\]* = 0\[\r\n\]"
+
+gdb_test "print one != two" "\\\$\[0-9\]* = 1\[\r\n\]"
+
+# Can't really check the output of this one without knowing
+# target integer width.  Make sure we don't try to call
+# the iostreams operator instead, though.
+gdb_test "print one << 31" "\\\$\[0-9\]* = {x = -?\[0-9\]*, y = -?\[0-9\]*}"
+
+# Should be fine even on < 32-bit targets.
+gdb_test "print one >> 31" "\\\$\[0-9\]* = {x = 0, y = 0}"
+
+gdb_test "print !one" "\\\$\[0-9\]* = 0\[\r\n\]"
+
+# Assumes 2's complement.  So does everything...
+gdb_test "print ~one" "\\\$\[0-9\]* = {x = -3, y = -4}"
+
+gdb_test "print -one" "\\\$\[0-9\]* = {x = -2, y = -3}"
+
+gdb_test "print one++" "\\\$\[0-9\]* = {x = 2, y = 4}"
+
+gdb_test "print ++one" "\\\$\[0-9\]* = {x = 3, y = 4}"
+
+gdb_test "print one--" "\\\$\[0-9\]* = {x = 3, y = 3}"
+
+gdb_test "print --one" "\\\$\[0-9\]* = {x = 2, y = 3}"
+
+gdb_test "print one += 7" "\\\$\[0-9\]* = {x = 9, y = 10}"
+
+gdb_test "print two = one" "\\\$\[0-9\]* = {x = 9, y = 10}"
 
 # Check that GDB tolerates whitespace in operator names.
 gdb_test "break A1::'operator+'" ".*Breakpoint $decimal at.*"


             reply	other threads:[~2002-02-16 22:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-16 14:30 Daniel Jacobowitz [this message]
2002-02-18 10:52 Michael Elizabeth Chastain
2002-02-18 10:57 ` Daniel Jacobowitz
2002-02-18 11:00 Michael Elizabeth Chastain

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=20020216173012.A12187@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=gdb-patches@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