tests: fix non-portable iconv invocation
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 28 Aug 2018 19:38:27 +0000 (19:38 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 29 Aug 2018 17:35:05 +0000 (10:35 -0700)
The iconv that comes with a FreeBSD 11.2-RELEASE-p2 box I have access
to doesn't support the SHIFT-JIS encoding. Guard a test added in
e92d62253 ("convert: add round trip check based on
'core.checkRoundtripEncoding'", 2018-04-15) first released with Git
v2.18.0 with a prerequisite that checks for its availability.

The iconv command is in POSIX, and we have numerous tests
unconditionally relying on its ability to convert ASCII, UTF-8 and
UTF-16, but unconditionally relying on the presence of more obscure
encodings isn't portable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0028-working-tree-encoding.sh
index 12b8eb963a525e4083f96b7d9edc28858d90a1e7..7e87b5a200a3f6483ea2e243fa0c497205ce4e61 100755 (executable)
@@ -203,7 +203,11 @@ test_expect_success 'error if encoding garbage is already in Git' '
        test_i18ngrep "error: BOM is required" err.out
 '
 
-test_expect_success 'check roundtrip encoding' '
+test_lazy_prereq ICONV_SHIFT_JIS '
+       iconv -f UTF-8 -t SHIFT-JIS </dev/null
+'
+
+test_expect_success ICONV_SHIFT_JIS 'check roundtrip encoding' '
        test_when_finished "rm -f roundtrip.shift roundtrip.utf16" &&
        test_when_finished "git reset --hard HEAD" &&