You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by fa...@apache.org on 2007/07/19 20:08:53 UTC
svn commit: r557713 -
/incubator/stdcxx/trunk/tests/iostream/27.istream.unformatted.get.cpp
Author: faridz
Date: Thu Jul 19 11:08:52 2007
New Revision: 557713
URL: http://svn.apache.org/viewvc?view=rev&rev=557713
Log:
2007-07-19 Farid Zaripov <Fa...@epam.com>
* 27.istream.unformatted.get.cpp: Update test according to changes in r423404.
Modified:
incubator/stdcxx/trunk/tests/iostream/27.istream.unformatted.get.cpp
Modified: incubator/stdcxx/trunk/tests/iostream/27.istream.unformatted.get.cpp
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/iostream/27.istream.unformatted.get.cpp?view=diff&rev=557713&r1=557712&r2=557713
==============================================================================
--- incubator/stdcxx/trunk/tests/iostream/27.istream.unformatted.get.cpp (original)
+++ incubator/stdcxx/trunk/tests/iostream/27.istream.unformatted.get.cpp Thu Jul 19 11:08:52 2007
@@ -54,15 +54,14 @@
int nexpect,
int rdstate,
int exceptions,
- MemFun caught)
+ int caught)
{
static const char* const exnames[] = {
- "none", "std::ios_base::failure", "unknown exception"
+ "none", "std::ios_base::failure",
+ "streambuf_exception", "unknown exception"
};
- const char* const caught_what =
- caught < int (sizeof exnames / sizeof *exnames) ?
- exnames [caught] : "streambuf_exception";
+ const char* const caught_what = exnames [caught];
// verify that stream is in the expected state
rw_assert (strm.rdstate () == rdstate, 0, lineno,
@@ -71,13 +70,13 @@
__LINE__, cname, fun, rdstate, strm.rdstate ());
- if (sb.throw_set_ && sb.ncalls (sb.threw_) == sb.fail_when_ + 1) {
+ if (sb.throw_set_ && sb.ncalls (sb.threw_) == sb.fail_when_) {
// verify that the same exception (and not ios_base::failure)
// as the one thrown from basic_filebuf has been propagated
// and caught when badbit is set in exceptions, and that no
// exception has been thrown if exceptions is clear
- if (exceptions & Bad && caught != sb.threw_) {
+ if (exceptions & Bad && caught != 2) {
rw_assert (false, 0, lineno,
"line %d: basic_istream<%s>::%s failed "
@@ -100,7 +99,7 @@
// or that it increased exactly `fail_when_'
const int actual = strm.gcount () - gcount;
- rw_assert (!actual || actual == sb.fail_when_, 0, lineno,
+ rw_assert (!actual || actual == sb.fail_when_ - 1, 0, lineno,
"line %d: basic_istream<%s>::%s changed "
"gcount () from %d to %d after a failure; "
"either no change from 0 expected, or "
@@ -112,7 +111,7 @@
// verify that ios_base::failure has been thrown (and caught)
// if badbit is set in exceptions
- rw_assert (!(exceptions & strm.rdstate ()) || caught == Failure,
+ rw_assert (!(exceptions & strm.rdstate ()) || caught == 1,
0, lineno,
"line %d: basic_istream<%s>::%s set %{Is} "
"but failed to throw ios_base::failure "
@@ -138,14 +137,14 @@
try { \
expr; \
} \
- catch (MemFun e) { \
- caught = e; \
- } \
catch (const std::ios_base::failure&) { \
- caught = Failure; \
+ caught = 1; \
+ } \
+ catch (Exception& e) { \
+ caught = ex_stream == e.id_ ? 2 : 3; \
} \
catch (...) { \
- caught = Unknown; \
+ caught = 3; \
} (void)0
@@ -201,7 +200,7 @@
int_type got = Traits::eof ();
- MemFun caught = None;
+ int caught = 0;
TRY_GET (got = strm.get ());
@@ -252,21 +251,21 @@
TEST (T, "\x80", 1, 0x80, Good, Good, 0, -1);
TEST (T, "\xff ", 2, 0xff, Good, Good, 0, -1);
- TEST (T, "c", 1, eof, Eof | Fail, Good, Underflow, 0);
- TEST (T, "d", 1, eof, Bad, Good, Underflow | Throw, 0);
+ TEST (T, "c", 1, eof, Eof | Fail, Good, Underflow, 1);
+ TEST (T, "d", 1, eof, Bad, Good, Underflow | Throw, 1);
eof = 256;
TEST (T, "", 0, eof, Eof | Fail, Good, 0, 0);
TEST (T, "f", 1, 'f', Good, Good, 0, 0);
- TEST (T, "g", 1, eof, Eof | Fail, Good, Underflow, 0);
- TEST (T, "h", 1, eof, Bad, Good, Underflow | Throw, 0);
+ TEST (T, "g", 1, eof, Eof | Fail, Good, Underflow, 1);
+ TEST (T, "h", 1, eof, Bad, Good, Underflow | Throw, 1);
eof = '\0';
TEST (T, "\0", 1, eof, Eof | Fail, Good, 0, -1);
- TEST (T, "\1", 1, eof, Eof | Fail, Good, Underflow, 0);
- TEST (T, "\2", 1, eof, Bad, Good, Underflow | Throw, 0);
+ TEST (T, "\1", 1, eof, Eof | Fail, Good, Underflow, 1);
+ TEST (T, "\2", 1, eof, Bad, Good, Underflow | Throw, 1);
}
/***********************************************************************/
@@ -311,7 +310,7 @@
charT got = charT (UChar (initval));
const charT val = charT (UChar (expectval));
- MemFun caught = None;
+ int caught = 0;
TRY_GET (strm.get (got));
@@ -368,14 +367,14 @@
TEST (T, "2 ", 2, '\3', '2', Good, Good, 0, -1);
TEST (T, " 3", 2, '\4', ' ', Good, Good, 0, -1);
- TEST (T, "4", 1, '\5', '\5', Eof | Fail, Good, Underflow, 0);
- TEST (T, "5", 1, '\6', '\6', Bad, Good, Underflow | Throw, 0);
- TEST (T, "6", 1, '\7', '\6', Eof | Fail, Eof, Underflow, 0);
- TEST (T, "7", 1, 'x', 'x', Eof | Fail, Fail, Underflow, 0);
- TEST (T, "8", 1, 'y', 'y', Eof | Fail, Eof | Fail, Underflow, 0);
- TEST (T, "9", 1, 'z', 'z', Eof | Fail, Eof | Fail | Bad, Underflow, 0);
+ TEST (T, "4", 1, '\5', '\5', Eof | Fail, Good, Underflow, 1);
+ TEST (T, "5", 1, '\6', '\6', Bad, Good, Underflow | Throw, 1);
+ TEST (T, "6", 1, '\7', '\6', Eof | Fail, Eof, Underflow, 1);
+ TEST (T, "7", 1, 'x', 'x', Eof | Fail, Fail, Underflow, 1);
+ TEST (T, "8", 1, 'y', 'y', Eof | Fail, Eof | Fail, Underflow, 1);
+ TEST (T, "9", 1, 'z', 'z', Eof | Fail, Eof | Fail | Bad, Underflow, 1);
- TEST (T, "A", 1, 'a', 'a', Bad, Bad, Underflow | Throw, 0);
+ TEST (T, "A", 1, 'a', 'a', Bad, Bad, Underflow | Throw, 1);
}
/***********************************************************************/
@@ -440,7 +439,7 @@
typedef unsigned char UChar;
- MemFun caught = None;
+ int caught = 0;
charT got [MAXCHARS + 1];
Traits::assign (got, sizeof got / sizeof *got, charT ('\xfe'));
@@ -521,23 +520,23 @@
// exercise the behavior on underflow() failure indicated
// by returning traits_type::eof()
- TEST (T, "78\n9", 4, 4, eof, 0, Eof | Fail, Good, Underflow, 0);
- TEST (T, "78901", 5, 5, eof, 0, Eof | Fail, Eof, Underflow, 0);
- TEST (T, "78902", 5, 5, eof, 0, Eof | Fail, Fail, Underflow, 0);
- TEST (T, "78803", 5, 5, eof, 0, Eof | Fail, Eof | Fail, Underflow, 0);
- TEST (T, "89\na", 4, 4, eof, 1, Eof, Good, Underflow, 1);
- TEST (T, "9a\nb", 4, 4, eof, 2, Eof, Good, Underflow, 2);
- TEST (T, "ab\nc", 4, 4, eof, 2, Good, Good, Underflow, 3);
+ TEST (T, "78\n9", 4, 4, eof, 0, Eof | Fail, Good, Underflow, 1);
+ TEST (T, "78901", 5, 5, eof, 0, Eof | Fail, Eof, Underflow, 1);
+ TEST (T, "78902", 5, 5, eof, 0, Eof | Fail, Fail, Underflow, 1);
+ TEST (T, "78803", 5, 5, eof, 0, Eof | Fail, Eof | Fail, Underflow, 1);
+ TEST (T, "89\na", 4, 4, eof, 1, Eof, Good, Underflow, 2);
+ TEST (T, "9a\nb", 4, 4, eof, 2, Eof, Good, Underflow, 3);
+ TEST (T, "ab\nc", 4, 4, eof, 2, Good, Good, Underflow, 4);
// exercise the behavior on underflow() failure caused
// by throwing an exception
- TEST (T, "bc\nd", 4, 4, eof, 0, Bad, Good, Underflow | Throw, 0);
- TEST (T, "cd\ne", 4, 4, eof, 1, Bad, Good, Underflow | Throw, 1);
- TEST (T, "def\n", 4, 4, eof, 2, Bad, Good, Underflow | Throw, 2);
- TEST (T, "efg\n", 4, 4, eof, 2, Bad, Bad, Underflow | Throw, 2);
- TEST (T, "fgh\n", 4, 4, eof, 3, Good, Bad, Underflow | Throw, 3);
- TEST (T, "ghij", 4, 4, eof, 3, Good, Bad, Underflow | Throw, 3);
- TEST (T, "hijk", 4, 5, eof, 3, Bad, Bad, Underflow | Throw, 3);
+ TEST (T, "bc\nd", 4, 4, eof, 0, Bad, Good, Underflow | Throw, 1);
+ TEST (T, "cd\ne", 4, 4, eof, 1, Bad, Good, Underflow | Throw, 2);
+ TEST (T, "def\n", 4, 4, eof, 2, Bad, Good, Underflow | Throw, 3);
+ TEST (T, "efg\n", 4, 4, eof, 2, Bad, Bad, Underflow | Throw, 3);
+ TEST (T, "fgh\n", 4, 4, eof, 3, Good, Bad, Underflow | Throw, 4);
+ TEST (T, "ghij", 4, 4, eof, 3, Good, Bad, Underflow | Throw, 4);
+ TEST (T, "hijk", 4, 5, eof, 3, Bad, Bad, Underflow | Throw, 4);
const std::streamsize N = std::streamsize (MAXCHARS);
char *buf = new char [N];
@@ -631,7 +630,7 @@
typedef unsigned char UChar;
- MemFun caught = None;
+ int caught = 0;
Streambuf outbuf (strsize, out_failure, out_fail_when);
@@ -714,27 +713,27 @@
TEST (T, "cd\0e", 4, '\0', 2, Good, Good, 0, 0);
TEST (T, "def\0", 4, '\0', 3, Good, Good, 0, 0);
- TEST (T, "efgh", 4, 'f', 0, Eof | Fail, Good, Underflow, 0);
- TEST (T, "fghi", 4, 'g', 0, Eof | Fail, Eof, Underflow, 0);
- TEST (T, "ghij", 4, 'h', 0, Eof | Fail, Fail, Underflow, 0);
- TEST (T, "hijk", 4, 'i', 0, Eof | Fail, Eof | Fail, Underflow, 0);
-
- TEST (T, "ijkl", 4, 'k', 1, Eof, Good, Underflow, 1);
- TEST (T, "jklm", 4, 'm', 2, Eof, Good, Underflow, 2);
-
- TEST (T, "klmn", 4, 'n', 2, Bad, Good, Underflow | Throw, 2);
- TEST (T, "lmno", 4, 'o', 2, Bad, Bad, Underflow | Throw, 2);
-
- TEST (T, "EFGH", 4, 'F', 0, Fail, Good, Overflow, 0);
- TEST (T, "FGHI", 4, 'G', 0, Fail, Eof, Overflow, 0);
- TEST (T, "GHIJ", 4, 'H', 0, Fail, Fail, Overflow, 0);
- TEST (T, "HIJK", 4, 'I', 0, Fail, Eof | Fail, Overflow, 0);
+ TEST (T, "efgh", 4, 'f', 0, Eof | Fail, Good, Underflow, 1);
+ TEST (T, "fghi", 4, 'g', 0, Eof | Fail, Eof, Underflow, 1);
+ TEST (T, "ghij", 4, 'h', 0, Eof | Fail, Fail, Underflow, 1);
+ TEST (T, "hijk", 4, 'i', 0, Eof | Fail, Eof | Fail, Underflow, 1);
+
+ TEST (T, "ijkl", 4, 'k', 1, Eof, Good, Underflow, 2);
+ TEST (T, "jklm", 4, 'm', 2, Eof, Good, Underflow, 3);
+
+ TEST (T, "klmn", 4, 'n', 2, Bad, Good, Underflow | Throw, 3);
+ TEST (T, "lmno", 4, 'o', 2, Bad, Bad, Underflow | Throw, 3);
+
+ TEST (T, "EFGH", 4, 'F', 0, Fail, Good, Overflow, 1);
+ TEST (T, "FGHI", 4, 'G', 0, Fail, Eof, Overflow, 1);
+ TEST (T, "GHIJ", 4, 'H', 0, Fail, Fail, Overflow, 1);
+ TEST (T, "HIJK", 4, 'I', 0, Fail, Eof | Fail, Overflow, 1);
- TEST (T, "IJKL", 4, 'K', 1, Fail, Good, Overflow, 1);
- TEST (T, "JKLM", 4, 'M', 2, Fail, Good, Overflow, 2);
+ TEST (T, "IJKL", 4, 'K', 1, Fail, Good, Overflow, 2);
+ TEST (T, "JKLM", 4, 'M', 2, Fail, Good, Overflow, 3);
- TEST (T, "KLMN", 4, 'N', 2, Fail, Good, Overflow | Throw, 2);
- TEST (T, "LMNO", 4, 'O', 2, Fail, Bad, Overflow | Throw, 2);
+ TEST (T, "KLMN", 4, 'N', 2, Fail, Good, Overflow | Throw, 3);
+ TEST (T, "LMNO", 4, 'O', 2, Fail, Bad, Overflow | Throw, 3);
rw_info (0, 0, 0, "27.6.1.3, p15 - std::basic_istream<%s>"
"::get (basic_streambuf<char_type, traits_type>&)", cname);