]> git.ipfire.org Git - thirdparty/git.git/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 572d395498e30a3743b77c577d7c4b91d714b392..e6e07facd4b718da65501141b0fbcec9b9aa2be5 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