summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2026-02-20 09:26:03 +0100
committerJunio C Hamano <gitster@pobox.com>2026-02-20 07:52:27 -0800
commiteb49c6ef43e3f7ac0050bddf42ea85641965dc90 (patch)
treeaed5403e1e48797da03e84daf15c4d68ea16faa5
parentc70bea26c763ae0caa170af84c92128b533dd1e9 (diff)
downloadgit-eb49c6ef43e3f7ac0050bddf42ea85641965dc90.tar.gz
git-eb49c6ef43e3f7ac0050bddf42ea85641965dc90.zip
t6006: don't use iconv(1) without ICONV prereq
Two tests in t6006 depend on the iconv(1) prerequisite to reencode a commit message. This executable may not even exist though in case the prereq is not set, which will cause the tests to fail. Fix this by using UTF-8 instead when the prereq is not set. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t6006-rev-list-format.sh29
1 files changed, 21 insertions, 8 deletions
diff --git a/t/t6006-rev-list-format.sh b/t/t6006-rev-list-format.sh
index eb93d68d7d..581984467d 100755
--- a/t/t6006-rev-list-format.sh
+++ b/t/t6006-rev-list-format.sh
@@ -378,15 +378,23 @@ test_expect_success 'rev-list %C(auto,...) respects --color' '
test_cmp expect actual
'
-iconv -f utf-8 -t $test_encoding > commit-msg <<EOF
-Test printing of complex bodies
+test_expect_success 'setup complex body' '
+ message=$(cat <<-EOF
+ Test printing of complex bodies
-This commit message is much longer than the others,
-and it will be encoded in $test_encoding. We should therefore
-include an ISO8859 character: ¡bueno!
-EOF
+ This commit message is much longer than the others,
+ and it will be encoded in $test_encoding. We should therefore
+ include an ISO8859 character: ¡bueno!
+ EOF
+ ) &&
+
+ if test_have_prereq ICONV
+ then
+ echo "$message" | iconv -f utf-8 -t $test_encoding >commit-msg
+ else
+ echo "$message" >commit-msg
+ fi &&
-test_expect_success 'setup complex body' '
git config i18n.commitencoding $test_encoding &&
echo change2 >foo && git commit -a -F commit-msg &&
head3=$(git rev-parse --verify HEAD) &&
@@ -448,7 +456,12 @@ test_expect_success 'setup expected messages (for test %b)' '
commit $head2
commit $head1
EOF
- iconv -f utf-8 -t $test_encoding expected.utf-8 >expected.ISO8859-1
+ if test_have_prereq ICONV
+ then
+ iconv -f utf-8 -t $test_encoding expected.utf-8 >expected.ISO8859-1
+ else
+ cp expected.utf-8 expected.ISO8859-1
+ fi
'
test_format complex-body %b <expected.ISO8859-1