diff options
author | Eric Christopher <echristo@gmail.com> | 2013-05-24 23:08:17 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2013-05-24 23:08:17 +0000 |
commit | f7306f224e7f85c2690256636613422c4a7b8230 (patch) | |
tree | 8ed035cec51604f65c10bee3f312106e8600d230 /unittests/Support | |
parent | 80d10ded8cd4f34b87d82b03d6f63328ea337b26 (diff) | |
download | external_llvm-f7306f224e7f85c2690256636613422c4a7b8230.zip external_llvm-f7306f224e7f85c2690256636613422c4a7b8230.tar.gz external_llvm-f7306f224e7f85c2690256636613422c4a7b8230.tar.bz2 |
ArrayRef-ize MD5 and clean up a few variable names.
Add a stringize method to make dumping a bit easier, and add a testcase
exercising a few different paths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182692 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Support')
-rw-r--r-- | unittests/Support/MD5Test.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/unittests/Support/MD5Test.cpp b/unittests/Support/MD5Test.cpp new file mode 100644 index 0000000..159ae3e --- /dev/null +++ b/unittests/Support/MD5Test.cpp @@ -0,0 +1,42 @@ +//===- llvm/unittest/Support/MD5Test.cpp - MD5 tests ----------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file implements unit tests for the MD5 functions. +// +//===----------------------------------------------------------------------===// + +#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/SmallString.h" +#include "llvm/Support/MD5.h" +#include "gtest/gtest.h" + +using namespace llvm; + +namespace { +void TestMD5Sum(ArrayRef<unsigned char> 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); +} + +TEST(MD5Test, MD5) { + TestMD5Sum(ArrayRef<unsigned char>((const unsigned char *)"", (size_t) 0), + "d41d8cd98f00b204e9800998ecf8427e"); + TestMD5Sum(ArrayRef<unsigned char>((const unsigned char *)"a", (size_t) 1), + "0cc175b9c0f1b6a831c399e269772661"); + TestMD5Sum(ArrayRef<unsigned char>( + (const unsigned char *)"abcdefghijklmnopqrstuvwxyz", + (size_t) 26), + "c3fcd3d76192e4007dfb496cca67e13b"); +} +} |