summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorljfa-ag <ljfa-ag@web.de>2015-09-16 14:25:35 +0200
committerljfa-ag <ljfa-ag@web.de>2015-09-16 14:25:35 +0200
commit694855d5f59e8b0a5bc4419b9a409f9ed7609daa (patch)
tree9b2632aeda1a686718809e47daf2db49f750d892 /test
parent837f04f57e32838ee6b2450db5ff2a140de5f818 (diff)
downloadProject-Tick-694855d5f59e8b0a5bc4419b9a409f9ed7609daa.tar.gz
Project-Tick-694855d5f59e8b0a5bc4419b9a409f9ed7609daa.zip
Change operator>> to read for test_inflate_corrupt
operator>>(streambuf*) seems to be weird when it comes to exceptions, and it behaves differently on g++ and clang
Diffstat (limited to 'test')
-rw-r--r--test/zlibstream_test.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/test/zlibstream_test.h b/test/zlibstream_test.h
index 6af1e433f4..2a94ab7ccb 100644
--- a/test/zlibstream_test.h
+++ b/test/zlibstream_test.h
@@ -113,22 +113,24 @@ public:
std::ifstream gzip_in("bigtest_corrupt.nbt", std::ios::binary);
TS_ASSERT(gzip_in);
- std::stringbuf data;
+ std::vector<char> buf(bigtest.size());
{
izlibstream igzs(gzip_in);
igzs.exceptions(std::ios::failbit | std::ios::badbit);
- TS_ASSERT_THROWS(igzs >> &data, zlib_error);
+ TS_ASSERT_THROWS(igzs.read(buf.data(), buf.size()), zlib_error);
+ TS_ASSERT(igzs.bad());
}
gzip_in.close();
+ gzip_in.clear();
gzip_in.open("bigtest_eof.nbt", std::ios::binary);
TS_ASSERT(gzip_in);
- data.str("");
{
izlibstream igzs(gzip_in);
igzs.exceptions(std::ios::failbit | std::ios::badbit);
- TS_ASSERT_THROWS(igzs >> &data, zlib_error);
+ TS_ASSERT_THROWS(igzs.read(buf.data(), buf.size()), zlib_error);
+ TS_ASSERT(igzs.bad());
}
}
};