From 11c520fbaf6e3b4f0df9ab166dbcd7dd7a3cf62c Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Sun, 11 Sep 2022 19:20:11 +0100 Subject: [PATCH] Attempt to fix clang CI error --- test/test_murmur3.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) 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); }