t6006: fix prereq handling with test_format ()
In df383b5842 (t/test-lib: wire up NO_ICONV prerequisite, 2024-10-16) we
have introduced a new NO_ICONV prerequisite that makes us skip tests in
case Git is not compiled with support for iconv. This change subtly
broke t6006: while the test suite still passes, some of its tests won't
execute because they run into an error.
./t6006-rev-list-format.sh: line 92: test_expect_%e: command not found
The broken tests use `test_format ()`, and the mentioned commit simply
prepended the new prerequisite to its arguments. But that does not work,
as the function is not aware of prereqs at all and will now treat all of
its arguments incorrectly.
Fix this by making the function aware of prereqs by accepting an
optional fourth argument. Adapt the callsites accordingly.
Reported-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
This commit is contained in:
committed by
Taylor Blau
parent
80ebd91b83
commit
dd6003f200
@ -75,7 +75,7 @@ test_expect_success 'setup' '
|
||||
git config --unset i18n.commitEncoding
|
||||
'
|
||||
|
||||
# usage: test_format [argument...] name format_string [failure] <expected_output
|
||||
# usage: test_format [argument...] name format_string [success|failure] [prereq] <expected_output
|
||||
test_format () {
|
||||
local args=
|
||||
while true
|
||||
@ -89,7 +89,7 @@ test_format () {
|
||||
esac
|
||||
done
|
||||
cat >expect.$1
|
||||
test_expect_${3:-success} "format $1" "
|
||||
test_expect_${3:-success} $4 "format $1" "
|
||||
git rev-list $args --pretty=format:'$2' main >output.$1 &&
|
||||
test_cmp expect.$1 output.$1
|
||||
"
|
||||
@ -218,7 +218,7 @@ Thu, 7 Apr 2005 15:13:13 -0700
|
||||
1112911993
|
||||
EOF
|
||||
|
||||
test_format ICONV encoding %e <<EOF
|
||||
test_format encoding %e success ICONV <<EOF
|
||||
commit $head2
|
||||
$test_encoding
|
||||
commit $head1
|
||||
@ -394,7 +394,7 @@ test_expect_success 'setup complex body' '
|
||||
head3_short=$(git rev-parse --short $head3)
|
||||
'
|
||||
|
||||
test_format ICONV complex-encoding %e <<EOF
|
||||
test_format complex-encoding %e success ICONV <<EOF
|
||||
commit $head3
|
||||
$test_encoding
|
||||
commit $head2
|
||||
|
||||
Reference in New Issue
Block a user