diff --git a/data/Deserializer.h b/data/Deserializer.h index 2a2d99ea..a51a92a6 100644 --- a/data/Deserializer.h +++ b/data/Deserializer.h @@ -94,7 +94,7 @@ namespace cpputils { return _readData(size); } - inline Data Deserializer::_readData(uint64_t size) { + inline Data Deserializer::_readData(size_t size) { Data result(size); std::memcpy(static_cast(result.data()), static_cast(_source->dataOffset(_pos)), size); _pos += size; diff --git a/test/data/DataTest.cpp b/test/data/DataTest.cpp index f3f6ae8c..287313e1 100644 --- a/test/data/DataTest.cpp +++ b/test/data/DataTest.cpp @@ -191,12 +191,16 @@ TEST_F(DataTest, Inequality_DifferentLastByte) { EXPECT_TRUE(data1 != data2); } +#ifdef __x86_64__ //Needs 64bit for representation. This value isn't in the size param list, because the list is also used for read/write checks. TEST_F(DataTest, LargesizeSize) { - size_t size = 10L*1024*1024*1024; + uint64_t size = 10L*1024*1024*1024; Data data(size); EXPECT_EQ(size, data.size()); } +#else +#warning This is not a 64bit architecture. Large size data tests are disabled. +#endif TEST_F(DataTest, LoadingNonexistingFile) { TempFile file(false); // Pass false to constructor, so the tempfile is not created