diff options
| author | ljfa-ag <ljfa-ag@web.de> | 2015-09-16 14:25:35 +0200 |
|---|---|---|
| committer | ljfa-ag <ljfa-ag@web.de> | 2015-09-16 14:25:35 +0200 |
| commit | 694855d5f59e8b0a5bc4419b9a409f9ed7609daa (patch) | |
| tree | 9b2632aeda1a686718809e47daf2db49f750d892 /test | |
| parent | 837f04f57e32838ee6b2450db5ff2a140de5f818 (diff) | |
| download | Project-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.h | 10 |
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()); } } }; |
