From 3b6442370a17c57c4c290b9a8e1e8328da820705 Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Sat, 11 Oct 2025 13:45:20 -0700 Subject: [PATCH] openssl: add a simple smoke test for the legacy provider This change adds a simple smoke test for the legacy provider to ensure that the provider doesn't break in the future when performing updates. This is not a functional or system test; the OpenSSL test suite does a much better job at doing this than we can. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D53045 --- etc/mtree/BSD.tests.dist | 2 + secure/lib/libcrypto/Makefile | 3 ++ secure/lib/libcrypto/tests/Makefile | 5 +++ secure/lib/libcrypto/tests/libcrypto_test.sh | 40 ++++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 secure/lib/libcrypto/tests/Makefile create mode 100755 secure/lib/libcrypto/tests/libcrypto_test.sh diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index e6a013f010d..8a752925d0a 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -520,6 +520,8 @@ .. secure lib + libcrypto + .. .. libexec .. diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index 5cb3f5a7c3f..738de347998 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -682,6 +682,9 @@ buildasm cleanasm: ${.TARGET:S/build/all/:S/asm$//} .endfor +HAS_TESTS= yes +SUBDIR.${MK_TESTS}= tests + .include .if ${MACHINE} == "powerpc" diff --git a/secure/lib/libcrypto/tests/Makefile b/secure/lib/libcrypto/tests/Makefile new file mode 100644 index 00000000000..d309a1b1100 --- /dev/null +++ b/secure/lib/libcrypto/tests/Makefile @@ -0,0 +1,5 @@ +PACKAGE= tests + +ATF_TESTS_SH+= libcrypto_test + +.include diff --git a/secure/lib/libcrypto/tests/libcrypto_test.sh b/secure/lib/libcrypto/tests/libcrypto_test.sh new file mode 100755 index 00000000000..83ef1686089 --- /dev/null +++ b/secure/lib/libcrypto/tests/libcrypto_test.sh @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 Enji Cooper + +atf_test_case legacy_provider +legacy_provider_head() { + atf_set "descr" "daemon should drop privileges" +} +legacy_provider_body() { + local passphrase="test" + local plaintext="test" + + export OPENSSL_CONF="$PWD/openssl.conf" + cat > "$OPENSSL_CONF" <