utils: Add an API to calculate cumulative crc32

Change-Id: I6c6fce214b98bc8f7284bc3e58319a9ef659e1b0
Signed-off-by: Kasun Athukorala <kasunath@google.com>
diff --git a/tests/utils.cpp b/tests/utils.cpp
index 0b4ca8b..a09e04c 100644
--- a/tests/utils.cpp
+++ b/tests/utils.cpp
@@ -13,6 +13,17 @@
     EXPECT_EQ(checksum, 0xcbf43926);
 }
 
+#ifdef LIBPLDM_API_TESTING
+TEST(Crc32, CumulativeCheckSumTest)
+{
+    const char* password = "123456789";
+    auto partial_checksum = pldm_edac_crc32_extend(password, 4, 0);
+    auto final_checksum =
+        pldm_edac_crc32_extend(password + 4, 5, partial_checksum);
+    EXPECT_EQ(final_checksum, 0xcbf43926);
+}
+#endif
+
 TEST(Crc8, CheckSumTest)
 {
     const char* data = "123456789";