xref: /linux/lib/crypto/tests/sm3_kunit.c (revision 370c3883195566ee3e7d79e0146c3d735a406573)
1*d6781b8bSEric Biggers // SPDX-License-Identifier: GPL-2.0-or-later
2*d6781b8bSEric Biggers /*
3*d6781b8bSEric Biggers  * Copyright 2026 Google LLC
4*d6781b8bSEric Biggers  */
5*d6781b8bSEric Biggers #include <crypto/sm3.h>
6*d6781b8bSEric Biggers #include "sm3-testvecs.h"
7*d6781b8bSEric Biggers 
8*d6781b8bSEric Biggers #define HASH sm3
9*d6781b8bSEric Biggers #define HASH_CTX sm3_ctx
10*d6781b8bSEric Biggers #define HASH_SIZE SM3_DIGEST_SIZE
11*d6781b8bSEric Biggers #define HASH_INIT sm3_init
12*d6781b8bSEric Biggers #define HASH_UPDATE sm3_update
13*d6781b8bSEric Biggers #define HASH_FINAL sm3_final
14*d6781b8bSEric Biggers #include "hash-test-template.h"
15*d6781b8bSEric Biggers 
16*d6781b8bSEric Biggers static struct kunit_case sm3_test_cases[] = {
17*d6781b8bSEric Biggers 	HASH_KUNIT_CASES,
18*d6781b8bSEric Biggers 	KUNIT_CASE(benchmark_hash),
19*d6781b8bSEric Biggers 	{},
20*d6781b8bSEric Biggers };
21*d6781b8bSEric Biggers 
22*d6781b8bSEric Biggers static struct kunit_suite sm3_test_suite = {
23*d6781b8bSEric Biggers 	.name = "sm3",
24*d6781b8bSEric Biggers 	.test_cases = sm3_test_cases,
25*d6781b8bSEric Biggers 	.suite_init = hash_suite_init,
26*d6781b8bSEric Biggers 	.suite_exit = hash_suite_exit,
27*d6781b8bSEric Biggers };
28*d6781b8bSEric Biggers kunit_test_suite(sm3_test_suite);
29*d6781b8bSEric Biggers 
30*d6781b8bSEric Biggers MODULE_DESCRIPTION("KUnit tests and benchmark for SM3");
31*d6781b8bSEric Biggers MODULE_LICENSE("GPL");
32