blob: ec64150756c87d3738b80fa7f4a17e35cd67bb1e [file] [log] [blame]
Andrew Jefferyfd28f9c2026-01-12 16:13:37 +10301/* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */
2#include <libpldm/edac.h>
3
4#include <gtest/gtest.h>
5
6TEST(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
14TEST(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
24TEST(Crc8, CheckSumTest)
25{
26 const char* data = "123456789";
27 auto checksum = pldm_edac_crc8(data, 9);
28 EXPECT_EQ(checksum, 0xf4);
29}