Support: More BlockFrequencyTest => BranchProbabilityTest
[oota-llvm.git] / unittests / Support / MD5Test.cpp
index 159ae3e4631fbe5370f72acada4b249c376d8f6c..7c1331b6c53705be89905cd968227ead26e949b7 100644 (file)
 using namespace llvm;
 
 namespace {
-void TestMD5Sum(ArrayRef<unsigned char> Input, StringRef Final) {
+/// \brief Tests an arbitrary set of bytes passed as \p Input.
+void TestMD5Sum(ArrayRef<uint8_t> Input, StringRef Final) {
+  MD5 Hash;
+  Hash.update(Input);
+  MD5::MD5Result MD5Res;
+  Hash.final(MD5Res);
+  SmallString<32> Res;
+  MD5::stringifyResult(MD5Res, Res);
+  EXPECT_EQ(Res, Final);
+}
+
+void TestMD5Sum(StringRef Input, StringRef Final) {
   MD5 Hash;
   Hash.update(Input);
   MD5::MD5Result MD5Res;
@@ -30,13 +41,20 @@ void TestMD5Sum(ArrayRef<unsigned char> Input, StringRef Final) {
 }
 
 TEST(MD5Test, MD5) {
-  TestMD5Sum(ArrayRef<unsigned char>((const unsigned char *)"", (size_t) 0),
+  TestMD5Sum(ArrayRef<uint8_t>((const uint8_t *)"", (size_t) 0),
              "d41d8cd98f00b204e9800998ecf8427e");
-  TestMD5Sum(ArrayRef<unsigned char>((const unsigned char *)"a", (size_t) 1),
+  TestMD5Sum(ArrayRef<uint8_t>((const uint8_t *)"a", (size_t) 1),
              "0cc175b9c0f1b6a831c399e269772661");
-  TestMD5Sum(ArrayRef<unsigned char>(
-                 (const unsigned char *)"abcdefghijklmnopqrstuvwxyz",
-                 (size_t) 26),
+  TestMD5Sum(ArrayRef<uint8_t>((const uint8_t *)"abcdefghijklmnopqrstuvwxyz",
+                               (size_t) 26),
              "c3fcd3d76192e4007dfb496cca67e13b");
+  TestMD5Sum(ArrayRef<uint8_t>((const uint8_t *)"\0", (size_t) 1),
+             "93b885adfe0da089cdf634904fd59f71");
+  TestMD5Sum(ArrayRef<uint8_t>((const uint8_t *)"a\0", (size_t) 2),
+             "4144e195f46de78a3623da7364d04f11");
+  TestMD5Sum(ArrayRef<uint8_t>((const uint8_t *)"abcdefghijklmnopqrstuvwxyz\0",
+                               (size_t) 27),
+             "81948d1f1554f58cd1a56ebb01f808cb");
+  TestMD5Sum("abcdefghijklmnopqrstuvwxyz", "c3fcd3d76192e4007dfb496cca67e13b");
 }
 }