[test] Add self-tests for SHA-1 algorithm

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2012-01-11 10:38:28 +00:00
parent 187cd80106
commit 18d2887281
4 changed files with 204 additions and 0 deletions

36
src/tests/digest_test.h Normal file
View File

@@ -0,0 +1,36 @@
#ifndef _DIGEST_TEST_H
#define _DIGEST_TEST_H
FILE_LICENCE ( GPL2_OR_LATER );
#include <stdint.h>
#include <ipxe/crypto.h>
#include <ipxe/test.h>
/** Maximum number of digest test fragments */
#define NUM_DIGEST_TEST_FRAG 8
/** A digest test fragment list */
struct digest_test_fragments {
/** Fragment lengths */
size_t len[NUM_DIGEST_TEST_FRAG];
};
extern int digest_test ( struct digest_algorithm *digest,
struct digest_test_fragments *fragments,
void *data, size_t len, void *expected );
/**
* Report digest test result
*
* @v digest Digest algorithm
* @v fragments Digest test fragment list, or NULL
* @v data Test data
* @v len Length of test data
* @v expected Expected digest value
*/
#define digest_ok( digest, fragments, data, len, expected ) do { \
ok ( digest_test ( digest, fragments, data, len, expected ) ); \
} while ( 0 )
#endif /* _DIGEST_TEST_H */