xref: /linux/lib/crypto/tests/sha512_kunit.c (revision 571eaeddb67df84c4fd59c5496866c049fb25efe)
1*571eaeddSEric Biggers // SPDX-License-Identifier: GPL-2.0-or-later
2*571eaeddSEric Biggers /*
3*571eaeddSEric Biggers  * Copyright 2025 Google LLC
4*571eaeddSEric Biggers  */
5*571eaeddSEric Biggers #include <crypto/sha2.h>
6*571eaeddSEric Biggers #include "sha512-testvecs.h"
7*571eaeddSEric Biggers 
8*571eaeddSEric Biggers #define HASH sha512
9*571eaeddSEric Biggers #define HASH_CTX sha512_ctx
10*571eaeddSEric Biggers #define HASH_SIZE SHA512_DIGEST_SIZE
11*571eaeddSEric Biggers #define HASH_INIT sha512_init
12*571eaeddSEric Biggers #define HASH_UPDATE sha512_update
13*571eaeddSEric Biggers #define HASH_FINAL sha512_final
14*571eaeddSEric Biggers #define HMAC_KEY hmac_sha512_key
15*571eaeddSEric Biggers #define HMAC_CTX hmac_sha512_ctx
16*571eaeddSEric Biggers #define HMAC_PREPAREKEY hmac_sha512_preparekey
17*571eaeddSEric Biggers #define HMAC_INIT hmac_sha512_init
18*571eaeddSEric Biggers #define HMAC_UPDATE hmac_sha512_update
19*571eaeddSEric Biggers #define HMAC_FINAL hmac_sha512_final
20*571eaeddSEric Biggers #define HMAC hmac_sha512
21*571eaeddSEric Biggers #define HMAC_USINGRAWKEY hmac_sha512_usingrawkey
22*571eaeddSEric Biggers #include "hash-test-template.h"
23*571eaeddSEric Biggers 
24*571eaeddSEric Biggers static struct kunit_case hash_test_cases[] = {
25*571eaeddSEric Biggers 	HASH_KUNIT_CASES,
26*571eaeddSEric Biggers 	KUNIT_CASE(benchmark_hash),
27*571eaeddSEric Biggers 	{},
28*571eaeddSEric Biggers };
29*571eaeddSEric Biggers 
30*571eaeddSEric Biggers static struct kunit_suite hash_test_suite = {
31*571eaeddSEric Biggers 	.name = "sha512",
32*571eaeddSEric Biggers 	.test_cases = hash_test_cases,
33*571eaeddSEric Biggers 	.suite_init = hash_suite_init,
34*571eaeddSEric Biggers 	.suite_exit = hash_suite_exit,
35*571eaeddSEric Biggers };
36*571eaeddSEric Biggers kunit_test_suite(hash_test_suite);
37*571eaeddSEric Biggers 
38*571eaeddSEric Biggers MODULE_DESCRIPTION("KUnit tests and benchmark for SHA-512 and HMAC-SHA512");
39*571eaeddSEric Biggers MODULE_LICENSE("GPL");
40