diff --git a/test/test_murmur3.cpp b/test/test_murmur3.cpp index 31205021..f205a349 100644 --- a/test/test_murmur3.cpp +++ b/test/test_murmur3.cpp @@ -44,12 +44,16 @@ namespace //************************************************************************* TEST(test_murmur3_32_constructor) { - std::string data("123456789"); + std::aligned_storage_t> storage[10]; + std::string data("123456789"); - uint32_t hash = etl::murmur3(data.begin(), data.end()); + char* begin = (char*)&storage[0]; + strcpy(begin, data.c_str()); + + uint32_t hash = etl::murmur3(begin, begin + 10); uint32_t compare; - MurmurHash3_x86_32(data.c_str(), data.size(), 0, &compare); + MurmurHash3_x86_32(begin, data.size(), 0, &compare); CHECK_EQUAL(compare, hash); } @@ -57,8 +61,12 @@ namespace //************************************************************************* TEST(test_murmur3_32_add_values) { + std::aligned_storage_t> storage[10]; std::string data("123456789"); + char* begin = (char*)&storage[0]; + strcpy(begin, data.c_str()); + etl::murmur3 murmur3_32_calculator; for (size_t i = 0UL; i < data.size(); ++i) @@ -69,7 +77,7 @@ namespace uint32_t hash = murmur3_32_calculator; uint32_t compare; - MurmurHash3_x86_32(data.c_str(), data.size(), 0, &compare); + MurmurHash3_x86_32(begin, data.size(), 0, &compare); CHECK_EQUAL(compare, hash); } @@ -77,8 +85,12 @@ namespace //************************************************************************* TEST(test_murmur3_32_add_range) { + std::aligned_storage_t> storage[10]; std::string data("123456789"); + char* begin = (char*)&storage[0]; + strcpy(begin, data.c_str()); + etl::murmur3 murmur3_32_calculator; murmur3_32_calculator.add(data.begin(), data.end()); @@ -86,7 +98,7 @@ namespace uint32_t hash = murmur3_32_calculator.value(); uint32_t compare; - MurmurHash3_x86_32(data.c_str(), data.size(), 0, &compare); + MurmurHash3_x86_32(begin, data.size(), 0, &compare); CHECK_EQUAL(compare, hash); }