git: 308c9c995794 - main - tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks

From: Warner Losh <imp_at_FreeBSD.org>
Date: Fri, 05 Sep 2025 18:42:26 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=308c9c995794f1ae89bba1d43aab9c51f7e90a09

commit 308c9c995794f1ae89bba1d43aab9c51f7e90a09
Author:     Siva Mahadevan <me@svmhdvn.name>
AuthorDate: 2025-07-21 13:25:26 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-09-05 18:42:22 +0000

    tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks
    
    Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
    Sponsored by: The FreeBSD Foundation
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1780
---
 tests/sys/opencrypto/blake2_test.c   | 42 ++++++++++++++++++++++--------------
 tests/sys/opencrypto/poly1305_test.c | 13 +++++------
 2 files changed, 33 insertions(+), 22 deletions(-)

diff --git a/tests/sys/opencrypto/blake2_test.c b/tests/sys/opencrypto/blake2_test.c
index b397f8a8ec4c..0e6943d150cf 100644
--- a/tests/sys/opencrypto/blake2_test.c
+++ b/tests/sys/opencrypto/blake2_test.c
@@ -126,15 +126,12 @@ do_cryptop(int fd, int ses, size_t inlen, void *out)
 }
 
 static void
-test_blake2b_vectors(const char *devname, const char *modname)
+test_blake2b_vectors(const char *devname)
 {
 	uint8_t hash[BLAKE2B_OUTBYTES];
 	int crid, fd, ses;
 	size_t i;
 
-	ATF_REQUIRE_KERNEL_MODULE(modname);
-	ATF_REQUIRE_KERNEL_MODULE("cryptodev");
-
 	initialize_constant_buffers();
 	fd = get_handle_fd();
 	crid = lookup_crid(fd, devname);
@@ -150,15 +147,12 @@ test_blake2b_vectors(const char *devname, const char *modname)
 }
 
 static void
-test_blake2s_vectors(const char *devname, const char *modname)
+test_blake2s_vectors(const char *devname)
 {
 	uint8_t hash[BLAKE2S_OUTBYTES];
 	int crid, fd, ses;
 	size_t i;
 
-	ATF_REQUIRE_KERNEL_MODULE(modname);
-	ATF_REQUIRE_KERNEL_MODULE("cryptodev");
-
 	initialize_constant_buffers();
 	fd = get_handle_fd();
 	crid = lookup_crid(fd, devname);
@@ -173,33 +167,49 @@ test_blake2s_vectors(const char *devname, const char *modname)
 	}
 }
 
-ATF_TC_WITHOUT_HEAD(blake2b_vectors);
+ATF_TC(blake2b_vectors);
+ATF_TC_HEAD(blake2b_vectors, tc)
+{
+	atf_tc_set_md_var(tc, "require.kmods", "nexus/cryptosoft cryptodev");
+}
 ATF_TC_BODY(blake2b_vectors, tc)
 {
 	ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1);
-	test_blake2b_vectors("cryptosoft0", "nexus/cryptosoft");
+	test_blake2b_vectors("cryptosoft0");
 }
 
-ATF_TC_WITHOUT_HEAD(blake2s_vectors);
+ATF_TC(blake2s_vectors);
+ATF_TC_HEAD(blake2s_vectors, tc)
+{
+	atf_tc_set_md_var(tc, "require.kmods", "nexus/cryptosoft cryptodev");
+}
 ATF_TC_BODY(blake2s_vectors, tc)
 {
 	ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1);
-	test_blake2s_vectors("cryptosoft0", "nexus/cryptosoft");
+	test_blake2s_vectors("cryptosoft0");
 }
 
 #if defined(__i386__) || defined(__amd64__)
-ATF_TC_WITHOUT_HEAD(blake2b_vectors_x86);
+ATF_TC(blake2b_vectors_x86);
+ATF_TC_HEAD(blake2b_vectors_x86, tc)
+{
+	atf_tc_set_md_var(tc, "require.kmods", "nexus/blake2 cryptodev");
+}
 ATF_TC_BODY(blake2b_vectors_x86, tc)
 {
 	ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1);
-	test_blake2b_vectors("blaketwo0", "nexus/blake2");
+	test_blake2b_vectors("blaketwo0");
 }
 
-ATF_TC_WITHOUT_HEAD(blake2s_vectors_x86);
+ATF_TC(blake2s_vectors_x86);
+ATF_TC_HEAD(blake2s_vectors_x86, tc)
+{
+	atf_tc_set_md_var(tc, "require.kmods", "nexus/blake2 cryptodev");
+}
 ATF_TC_BODY(blake2s_vectors_x86, tc)
 {
 	ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1);
-	test_blake2s_vectors("blaketwo0", "nexus/blake2");
+	test_blake2s_vectors("blaketwo0");
 }
 #endif
 
diff --git a/tests/sys/opencrypto/poly1305_test.c b/tests/sys/opencrypto/poly1305_test.c
index ab455784efba..c51ffacfd1cc 100644
--- a/tests/sys/opencrypto/poly1305_test.c
+++ b/tests/sys/opencrypto/poly1305_test.c
@@ -350,16 +350,13 @@ do_cryptop(int fd, int ses, const void *inp, size_t inlen, void *out)
 }
 
 static void
-test_rfc7539_poly1305_vectors(int crid, const char *modname)
+test_rfc7539_poly1305_vectors(int crid)
 {
 	uint8_t comptag[POLY1305_HASH_LEN], exptag[POLY1305_HASH_LEN],
 	    key[POLY1305_KEY_LEN], msg[512];
 	int fd, ses;
 	size_t i;
 
-	ATF_REQUIRE_KERNEL_MODULE(modname);
-	ATF_REQUIRE_KERNEL_MODULE("cryptodev");
-
 	fd = get_handle_fd();
 
 	for (i = 0; i < nitems(rfc7539_kats); i++) {
@@ -378,11 +375,15 @@ test_rfc7539_poly1305_vectors(int crid, const char *modname)
 	}
 }
 
-ATF_TC_WITHOUT_HEAD(poly1305_vectors);
+ATF_TC(poly1305_vectors);
+ATF_TC_HEAD(poly1305_vectors, tc)
+{
+	 atf_tc_set_md_var(tc, "require.kmods", "nexus/cryptosoft cryptodev");
+}
 ATF_TC_BODY(poly1305_vectors, tc)
 {
 	ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1);
-	test_rfc7539_poly1305_vectors(CRYPTO_FLAG_SOFTWARE, "nexus/cryptosoft");
+	test_rfc7539_poly1305_vectors(CRYPTO_FLAG_SOFTWARE);
 }
 
 ATF_TP_ADD_TCS(tp)