1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-03 13:09:40 +00:00

Fix recover from errors in Files::getHash

This commit is contained in:
elsid 2022-04-15 03:06:53 +02:00
parent b4503c9c0a
commit fbc853804d
No known key found for this signature in database
GPG key ID: B845CB9FEE18AB40
2 changed files with 11 additions and 1 deletions

View file

@ -22,6 +22,16 @@ namespace
struct FilesGetHash : TestWithParam<Params> {};
TEST(FilesGetHash, shouldClearErrors)
{
const std::string fileName = "fileName";
std::string content;
std::fill_n(std::back_inserter(content), 1, 'a');
std::istringstream stream(content);
stream.exceptions(std::ios::failbit | std::ios::badbit);
EXPECT_THAT(getHash(fileName, stream), ElementsAre(9607679276477937801ull, 16624257681780017498ull));
}
TEST_P(FilesGetHash, shouldReturnHashForStringStream)
{
const std::string fileName = "fileName";

View file

@ -28,8 +28,8 @@ namespace Files
MurmurHash3_x64_128(value.data(), static_cast<int>(read), hash.data(), blockHash.data());
hash = blockHash;
}
stream.exceptions(exceptions);
stream.clear();
stream.exceptions(exceptions);
stream.seekg(start);
}
catch (const std::exception& e)