xref: /linux/lib/crypto/tests/md5_kunit.c (revision d8768fb12a14c30436bd0466b4fc28edeef45078)
1*d6b6aac0SEric Biggers // SPDX-License-Identifier: GPL-2.0-or-later
2*d6b6aac0SEric Biggers /*
3*d6b6aac0SEric Biggers  * Copyright 2025 Google LLC
4*d6b6aac0SEric Biggers  */
5*d6b6aac0SEric Biggers #include <crypto/md5.h>
6*d6b6aac0SEric Biggers #include "md5-testvecs.h"
7*d6b6aac0SEric Biggers 
8*d6b6aac0SEric Biggers #define HASH md5
9*d6b6aac0SEric Biggers #define HASH_CTX md5_ctx
10*d6b6aac0SEric Biggers #define HASH_SIZE MD5_DIGEST_SIZE
11*d6b6aac0SEric Biggers #define HASH_INIT md5_init
12*d6b6aac0SEric Biggers #define HASH_UPDATE md5_update
13*d6b6aac0SEric Biggers #define HASH_FINAL md5_final
14*d6b6aac0SEric Biggers #define HMAC_KEY hmac_md5_key
15*d6b6aac0SEric Biggers #define HMAC_CTX hmac_md5_ctx
16*d6b6aac0SEric Biggers #define HMAC_PREPAREKEY hmac_md5_preparekey
17*d6b6aac0SEric Biggers #define HMAC_INIT hmac_md5_init
18*d6b6aac0SEric Biggers #define HMAC_UPDATE hmac_md5_update
19*d6b6aac0SEric Biggers #define HMAC_FINAL hmac_md5_final
20*d6b6aac0SEric Biggers #define HMAC hmac_md5
21*d6b6aac0SEric Biggers #define HMAC_USINGRAWKEY hmac_md5_usingrawkey
22*d6b6aac0SEric Biggers #include "hash-test-template.h"
23*d6b6aac0SEric Biggers 
24*d6b6aac0SEric Biggers static struct kunit_case hash_test_cases[] = {
25*d6b6aac0SEric Biggers 	HASH_KUNIT_CASES,
26*d6b6aac0SEric Biggers 	KUNIT_CASE(benchmark_hash),
27*d6b6aac0SEric Biggers 	{},
28*d6b6aac0SEric Biggers };
29*d6b6aac0SEric Biggers 
30*d6b6aac0SEric Biggers static struct kunit_suite hash_test_suite = {
31*d6b6aac0SEric Biggers 	.name = "md5",
32*d6b6aac0SEric Biggers 	.test_cases = hash_test_cases,
33*d6b6aac0SEric Biggers 	.suite_init = hash_suite_init,
34*d6b6aac0SEric Biggers 	.suite_exit = hash_suite_exit,
35*d6b6aac0SEric Biggers };
36*d6b6aac0SEric Biggers kunit_test_suite(hash_test_suite);
37*d6b6aac0SEric Biggers 
38*d6b6aac0SEric Biggers MODULE_DESCRIPTION("KUnit tests and benchmark for MD5 and HMAC-MD5");
39*d6b6aac0SEric Biggers MODULE_LICENSE("GPL");
40