diff options
author | fishsoupisgood <github@madingley.org> | 2019-04-29 01:17:54 +0100 |
---|---|---|
committer | fishsoupisgood <github@madingley.org> | 2019-05-27 03:43:43 +0100 |
commit | 3f2546b2ef55b661fd8dd69682b38992225e86f6 (patch) | |
tree | 65ca85f13617aee1dce474596800950f266a456c /roms/ipxe/src/tests/digest_test.h | |
download | qemu-master.tar.gz qemu-master.tar.bz2 qemu-master.zip |
Diffstat (limited to 'roms/ipxe/src/tests/digest_test.h')
-rw-r--r-- | roms/ipxe/src/tests/digest_test.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/roms/ipxe/src/tests/digest_test.h b/roms/ipxe/src/tests/digest_test.h new file mode 100644 index 00000000..49e06d1c --- /dev/null +++ b/roms/ipxe/src/tests/digest_test.h @@ -0,0 +1,37 @@ +#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 ); +extern unsigned long digest_cost ( struct digest_algorithm *digest ); + +/** + * 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 */ |