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