]> Kevux Git Server - rit/commitdiff
t9822: use prereq to check for ISO-8859-1 support
authorPatrick Steinhardt <ps@pks.im>
Mon, 2 Jun 2025 06:44:43 +0000 (08:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 2 Jun 2025 14:51:42 +0000 (07:51 -0700)
Tests in t9822 depend on filesystem support for ISO-8859-1 encoding. We
thus have a block of code that acts as a prerequisite -- if we fail to
write a file with an ISO-8859-1-encoded file name to disk then we skip
all tests.

When the prerequisite fails though we end up printing an error message
to stderr, which breaks the TAP format. Fix this by converting the code
to a proper prerequisite, which handles output redirection for us.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t9822-git-p4-path-encoding.sh

index 572d395..e6e07fa 100755 (executable)
@@ -7,12 +7,17 @@ test_description='Clone repositories with non ASCII paths'
 UTF8_ESCAPED="a-\303\244_o-\303\266_u-\303\274.txt"
 ISO8859_ESCAPED="a-\344_o-\366_u-\374.txt"
 
-ISO8859="$(printf "$ISO8859_ESCAPED")" &&
-echo content123 >"$ISO8859" &&
-rm "$ISO8859" || {
+test_lazy_prereq FS_ACCEPTS_ISO_8859_1 '
+       ISO8859="$(printf "$ISO8859_ESCAPED")" &&
+       echo content123 >"$ISO8859" &&
+       rm "$ISO8859"
+'
+
+if ! test_have_prereq FS_ACCEPTS_ISO_8859_1
+then
        skip_all="fs does not accept ISO-8859-1 filenames"
        test_done
-}
+fi
 
 test_expect_success 'start p4d' '
        start_p4d