diff options
| author | Enji Cooper <ngie@FreeBSD.org> | 2025-10-11 13:45:20 -0700 |
|---|---|---|
| committer | Enji Cooper <ngie@FreeBSD.org> | 2025-10-16 23:36:15 -0700 |
| commit | 3b6442370a17c57c4c290b9a8e1e8328da820705 (patch) | |
| tree | 7e1bd47e45c4d5be5bf41dade77c8695dfe9d82e /secure | |
| parent | aafdbf83b926519cb47de8f16a1a40c1ef3c84b5 (diff) | |
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
Diffstat (limited to 'secure')
| -rw-r--r-- | secure/lib/libcrypto/Makefile | 3 | ||||
| -rw-r--r-- | secure/lib/libcrypto/tests/Makefile | 5 | ||||
| -rwxr-xr-x | secure/lib/libcrypto/tests/libcrypto_test.sh | 40 |
3 files changed, 48 insertions, 0 deletions
diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index 5cb3f5a7c3fe..738de3479987 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 <bsd.lib.mk> .if ${MACHINE} == "powerpc" diff --git a/secure/lib/libcrypto/tests/Makefile b/secure/lib/libcrypto/tests/Makefile new file mode 100644 index 000000000000..d309a1b1100c --- /dev/null +++ b/secure/lib/libcrypto/tests/Makefile @@ -0,0 +1,5 @@ +PACKAGE= tests + +ATF_TESTS_SH+= libcrypto_test + +.include <bsd.test.mk> diff --git a/secure/lib/libcrypto/tests/libcrypto_test.sh b/secure/lib/libcrypto/tests/libcrypto_test.sh new file mode 100755 index 000000000000..83ef1686089d --- /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" <<EOF +HOME = . + +openssl_conf = openssl_init + +[openssl_init] +providers = provider_sect + +# List of providers to load +[provider_sect] +default = default_sect +legacy = legacy_sect + +[default_sect] +activate = 1 + +[legacy_sect] +activate = 1 +EOF + + echo "$plaintext" | atf_check -s exit:0 -e empty -o not-empty \ + openssl rc4 -e -k "$passphrase" -a -pbkdf2 +} + +atf_init_test_cases() { + atf_add_test_case legacy_provider +} |
