Index: xz/tests/test_check.c |
=================================================================== |
--- xz/tests/test_check.c (revision 0) |
+++ xz/tests/test_check.c (revision 0) |
@@ -0,0 +1,83 @@ |
+/////////////////////////////////////////////////////////////////////////////// |
+// |
+/// \file test_check.c |
+/// \brief Tests integrity checks |
+/// |
+/// \todo Add SHA256 |
+// |
+// Author: Lasse Collin |
+// |
+// This file has been put into the public domain. |
+// You can do whatever you want with this file. |
+// |
+/////////////////////////////////////////////////////////////////////////////// |
+ |
+#include "tests.h" |
+ |
+ |
+static const uint8_t test_string[9] = "123456789"; |
+static const uint8_t test_unaligned[12] = "xxx123456789"; |
+ |
+ |
+static bool |
+test_crc32(void) |
+{ |
+ static const uint32_t test_vector = 0xCBF43926; |
+ |
+ // Test 1 |
+ uint32_t crc = lzma_crc32(test_string, sizeof(test_string), 0); |
+ if (crc != test_vector) |
+ return true; |
+ |
+ // Test 2 |
+ crc = lzma_crc32(test_unaligned + 3, sizeof(test_string), 0); |
+ if (crc != test_vector) |
+ return true; |
+ |
+ // Test 3 |
+ crc = 0; |
+ for (size_t i = 0; i < sizeof(test_string); ++i) |
+ crc = lzma_crc32(test_string + i, 1, crc); |
+ if (crc != test_vector) |
+ return true; |
+ |
+ return false; |
+} |
+ |
+ |
+static bool |
+test_crc64(void) |
+{ |
+ static const uint64_t test_vector = 0x995DC9BBDF1939FA; |
+ |
+ // Test 1 |
+ uint64_t crc = lzma_crc64(test_string, sizeof(test_string), 0); |
+ if (crc != test_vector) |
+ return true; |
+ |
+ // Test 2 |
+ crc = lzma_crc64(test_unaligned + 3, sizeof(test_string), 0); |
+ if (crc != test_vector) |
+ return true; |
+ |
+ // Test 3 |
+ crc = 0; |
+ for (size_t i = 0; i < sizeof(test_string); ++i) |
+ crc = lzma_crc64(test_string + i, 1, crc); |
+ if (crc != test_vector) |
+ return true; |
+ |
+ return false; |
+} |
+ |
+ |
+int |
+main(void) |
+{ |
+ bool error = false; |
+ |
+ error |= test_crc32(); |
+ error |= test_crc64(); |
+ |
+ return error ? 1 : 0; |
+} |
Property changes on: xz/tests/test_check.c |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |