| //===- llvm/tools/gollvm/unittests/BackendCore/Sha1Tests.cpp ------------===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "TestUtils.h" |
| #include "gtest/gtest.h" |
| #include "llvm/ADT/StringExtras.h" |
| #include "go-sha1.h" |
| |
| namespace { |
| |
| TEST(Sha1Tests, CreateSha1Helper) { |
| std::unique_ptr<Go_sha1_helper> sh1(go_create_sha1_helper()); |
| } |
| |
| TEST(Sha1Tests, BasicSha1Test1) { |
| std::unique_ptr<Go_sha1_helper> sh1(go_create_sha1_helper()); |
| const char *grist = "hi mom\n"; |
| sh1->process_bytes(grist, strlen(grist)); |
| std::string raw = sh1->finish(); |
| std::string hexed = llvm::toHex(raw); |
| EXPECT_EQ(hexed, "9F74809A2EE7607B16FCC70D9399A4DE9725A727"); |
| EXPECT_EQ(hexed.size(), 40ul); |
| } |
| |
| TEST(Sha1Tests, BasicSha1Test2) { |
| std::unique_ptr<Go_sha1_helper> sh1(go_create_sha1_helper()); |
| const char *grist = "Now is the winter of our discontent."; |
| sh1->process_bytes(grist, strlen(grist)); |
| std::string raw = sh1->finish(); |
| std::string hexed = llvm::toHex(raw); |
| EXPECT_EQ(hexed, "41A42F61DB4BA8089B20E45CFB685FADEE00F4D4"); |
| EXPECT_EQ(hexed.size(), 40ul); |
| } |
| |
| } |