git: 9536a3a2de01 - releng/15.1 - md5: Don't generate test cases just to skip them

From: Colin Percival <cperciva_at_FreeBSD.org>
Date: Thu, 07 May 2026 20:19:18 UTC
The branch releng/15.1 has been updated by cperciva:

URL: https://cgit.FreeBSD.org/src/commit/?id=9536a3a2de012bcb98c9a49eeb05dd1935131c84

commit 9536a3a2de012bcb98c9a49eeb05dd1935131c84
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-05-05 19:44:29 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2026-05-07 20:18:56 +0000

    md5: Don't generate test cases just to skip them
    
    Don't waste time generating Perl test cases for algorithms that are not
    supported in Perl mode only to skip them when they are run.
    
    Approved by:    re (cperciva)
    MFC after:      1 week
    Reviewed by:    ngie
    Differential Revision:  https://reviews.freebsd.org/D56687
    
    (cherry picked from commit fd386e76fa2b29d99525c246cbfc05768a1f4a76)
    (cherry picked from commit f9626b7e55e11322ad45da2201cd482b43eeabb6)
---
 sbin/md5/tests/md5_test.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/sbin/md5/tests/md5_test.sh b/sbin/md5/tests/md5_test.sh
index 34bdf43f13ea..a7632664c7aa 100644
--- a/sbin/md5/tests/md5_test.sh
+++ b/sbin/md5/tests/md5_test.sh
@@ -176,6 +176,7 @@ out_7_skein1024="cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048
 out_8_skein1024="e6799b78db54085a2be7ff4c8007f147fa88d326abab30be0560b953396d8802feee9a15419b48a467574e9283be15685ca8a079ee52b27166b64dd70b124b1d4e4f6aca37224c3f2685e67e67baef9f94b905698adc794a09672aba977a61b20966912acdb08c21a2c37001785355dc884751a21f848ab36e590331ff938138"
 
 for alg in $algorithms ; do
+	eval "perl=\$name_perl_${alg}"		# supported in Perl mode?
 	eval "
 atf_test_case self_test_${alg}
 self_test_${alg}_head() {
@@ -228,14 +229,13 @@ gnu_${alg}_vec${i}_body() {
 	atf_check -o inline:\"\$out_${i}_${alg}  -\0\" ${alg}sum -z - <in
 }
 "
-		eval "
+		[ -n "$perl" ] && eval "
 atf_test_case perl_${alg}_vec${i}
 perl_${alg}_vec${i}_head() {
 	atf_set descr \"Perl mode \$name_bsd_${alg} test vector ${i}\"
 	atf_set require.progs \"shasum\"
 }
 perl_${alg}_vec${i}_body() {
-	[ -n \"\$name_perl_${alg}\" ] || atf_skip \"shasum does not support ${alg}\"
 	printf '%s' \"\$inp_${i}\" >in
 	atf_check -o inline:\"\$out_${i}_${alg}  -\n\" shasum \$alg_perl_${alg} <in
 	atf_check -o inline:\"\$out_${i}_${alg} *-\n\" shasum \$alg_perl_${alg} -b <in
@@ -281,14 +281,13 @@ gnu_check_${alg}_body() {
 	atf_check -s exit:$rv ${alg}sum --check --status digests
 }
 "
-	eval "
+	[ -n "$perl" ] && eval "
 atf_test_case perl_check_${alg}
 perl_check_${alg}_head() {
 	atf_set descr \"Perl mode check test for \$name_bsd_${alg}\"
 	atf_set require.progs \"shasum\"
 }
 perl_check_${alg}_body() {
-	[ -n \"\$name_perl_${alg}\" ] || atf_skip \"shasum does not support ${alg}\"
 	:>digests
 	:>stdout
 	:>stderr
@@ -394,14 +393,15 @@ EOF
 atf_init_test_cases()
 {
 	for alg in $algorithms ; do
+		eval "perl=\$name_perl_${alg}"	# supported in Perl mode?
 		atf_add_test_case self_test_${alg}
 		for i in $(seq $n) ; do
 			atf_add_test_case bsd_${alg}_vec${i}
 			atf_add_test_case gnu_${alg}_vec${i}
-			atf_add_test_case perl_${alg}_vec${i}
+			[ -n "$perl" ] && atf_add_test_case perl_${alg}_vec${i}
 		done
 		atf_add_test_case gnu_check_${alg}
-		atf_add_test_case perl_check_${alg}
+		[ -n "$perl" ] && atf_add_test_case perl_check_${alg}
 	done
 	atf_add_test_case gnu_bflag
 	atf_add_test_case gnu_cflag