diff options
Diffstat (limited to 'rlz/lib/crc8_unittest.cc')
-rw-r--r-- | rlz/lib/crc8_unittest.cc | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/rlz/lib/crc8_unittest.cc b/rlz/lib/crc8_unittest.cc deleted file mode 100644 index 4889242..0000000 --- a/rlz/lib/crc8_unittest.cc +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// Uniitest for data encryption functions. - -#include "base/logging.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -#include "rlz/lib/crc8.h" - -TEST(Crc8Unittest, TestCrc8) { - struct Data { - char string[10]; - // Externally calculated checksums use - // http://www.zorc.breitbandkatze.de/crc.html - // with the ATM HEC paramters: - // CRC-8, Polynomial 0x07, Initial value 0x00, Final XOR value 0x55 - // (direct, don't reverse data byes, don't reverse CRC before final XOR) - unsigned char external_crc; - int random_byte; - unsigned char corrupt_value; - } data[] = { - {"Google", 0x01, 2, 0x53}, - {"GOOGLE", 0xA6, 4, 0x11}, - {"My CRC 8!", 0xDC, 0, 0x50}, - }; - - unsigned char* bytes; - unsigned char crc; - bool matches; - int length; - for (size_t i = 0; i < sizeof(data) / sizeof(data[0]); ++i) { - bytes = reinterpret_cast<unsigned char*>(data[i].string); - crc = 0; - matches = false; - length = strlen(data[i].string); - - // Calculate CRC and compare against external value. - rlz_lib::Crc8::Generate(bytes, length, &crc); - EXPECT_TRUE(crc == data[i].external_crc); - rlz_lib::Crc8::Verify(bytes, length, crc, &matches); - EXPECT_TRUE(matches); - - // Corrupt string and see if CRC still matches. - data[i].string[data[i].random_byte] = data[i].corrupt_value; - rlz_lib::Crc8::Verify(bytes, length, crc, &matches); - EXPECT_FALSE(matches); - } -} |