diff options
author | Michael Brown | 2012-01-11 11:38:28 +0100 |
---|---|---|
committer | Michael Brown | 2012-01-11 11:38:28 +0100 |
commit | 18d288728114745211584249de930a9b1c7bcdcd (patch) | |
tree | 8c496e50526e5ac396cd11b78a42ab3cf54e1750 /src/tests/digest_test.h | |
parent | [dns] Allow trailing dots in DNS names (diff) | |
download | ipxe-18d288728114745211584249de930a9b1c7bcdcd.tar.gz ipxe-18d288728114745211584249de930a9b1c7bcdcd.tar.xz ipxe-18d288728114745211584249de930a9b1c7bcdcd.zip |
[test] Add self-tests for SHA-1 algorithm
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/tests/digest_test.h')
-rw-r--r-- | src/tests/digest_test.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/tests/digest_test.h b/src/tests/digest_test.h new file mode 100644 index 00000000..c2558780 --- /dev/null +++ b/src/tests/digest_test.h @@ -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 */ |