summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support
diff options
context:
space:
mode:
authorEugene Leviant <eleviant@accesssoftek.com>2019-04-08 11:25:48 +0000
committerEugene Leviant <eleviant@accesssoftek.com>2019-04-08 11:25:48 +0000
commitad69bd687008c2daa46cd6dafb58cb9e95e7eedb (patch)
tree5a18dfd3d0601f08e480249cfdb5ea4cc8a7b5a9 /llvm/unittests/Support
parenteb1a156d7f7ba56ea8f9a26da36e6a93d1e98bda (diff)
downloadbcm5719-llvm-ad69bd687008c2daa46cd6dafb58cb9e95e7eedb.tar.gz
bcm5719-llvm-ad69bd687008c2daa46cd6dafb58cb9e95e7eedb.zip
[Support] Add zlib independent CRC32
Differential revision: https://reviews.llvm.org/D59816 llvm-svn: 357901
Diffstat (limited to 'llvm/unittests/Support')
-rw-r--r--llvm/unittests/Support/CMakeLists.txt1
-rw-r--r--llvm/unittests/Support/CRCTest.cpp29
2 files changed, 30 insertions, 0 deletions
diff --git a/llvm/unittests/Support/CMakeLists.txt b/llvm/unittests/Support/CMakeLists.txt
index 40bf9394002..12c983df50c 100644
--- a/llvm/unittests/Support/CMakeLists.txt
+++ b/llvm/unittests/Support/CMakeLists.txt
@@ -18,6 +18,7 @@ add_llvm_unittest(SupportTests
CommandLineTest.cpp
CompressionTest.cpp
ConvertUTFTest.cpp
+ CRCTest.cpp
DataExtractorTest.cpp
DebugTest.cpp
DebugCounterTest.cpp
diff --git a/llvm/unittests/Support/CRCTest.cpp b/llvm/unittests/Support/CRCTest.cpp
new file mode 100644
index 00000000000..71afb0a4789
--- /dev/null
+++ b/llvm/unittests/Support/CRCTest.cpp
@@ -0,0 +1,29 @@
+//===- llvm/unittest/Support/CRCTest.cpp - CRC tests ----------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements unit tests for CRC calculation functions.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Support/CRC.h"
+#include "gtest/gtest.h"
+
+using namespace llvm;
+
+namespace {
+
+TEST(CRCTest, CRC32) {
+ EXPECT_EQ(0x414FA339U,
+ llvm::crc32(
+ 0, StringRef("The quick brown fox jumps over the lazy dog")));
+ // CRC-32/ISO-HDLC test vector
+ // http://reveng.sourceforge.net/crc-catalogue/17plus.htm#crc.cat.crc-32c
+ EXPECT_EQ(0xCBF43926U, llvm::crc32(0, StringRef("123456789")));
+}
+
+} // end anonymous namespace
OpenPOWER on IntegriCloud