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