1 /* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */
2 #include <libpldm/edac.h>
3
4 #include <gtest/gtest.h>
5
TEST(Crc32,CheckSumTest)6 TEST(Crc32, CheckSumTest)
7 {
8 const char* password = "123456789";
9 auto checksum = pldm_edac_crc32(password, 9);
10 EXPECT_EQ(checksum, 0xcbf43926);
11 }
12
13 #ifdef LIBPLDM_API_TESTING
TEST(Crc32,CumulativeCheckSumTest)14 TEST(Crc32, CumulativeCheckSumTest)
15 {
16 const char* password = "123456789";
17 auto partial_checksum = pldm_edac_crc32_extend(password, 4, 0);
18 auto final_checksum =
19 pldm_edac_crc32_extend(password + 4, 5, partial_checksum);
20 EXPECT_EQ(final_checksum, 0xcbf43926);
21 }
22 #endif
23
TEST(Crc8,CheckSumTest)24 TEST(Crc8, CheckSumTest)
25 {
26 const char* data = "123456789";
27 auto checksum = pldm_edac_crc8(data, 9);
28 EXPECT_EQ(checksum, 0xf4);
29 }
30