| 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 | 
|  | 
|  |