Subject: Re: [PATCH v2 1/2] t4205, t6006: Add failing tests for the case when i18n.logOutputEncoding is set

From: Junio C Hamano <[email-masked]>
Date: Fri, 16 May 2014 11:49:40 -0700

Alexey Shumkin <[email-masked]> writes:

> Pretty format string %<(N,[ml]trunc)>%s truncates subject to a given
> length with an appropriate padding. This works for non-ASCII texts when
> i18n.logOutputEncoding is UTF-8 only (independently of a printed commit
> message encoding) but does not work when i18n.logOutputEncoding is NOT
> UTF-8.
>
> There were no breakages as far as were no tests for the case
> when both a commit message and logOutputEncoding are not UTF-8.
>
> Add failing tests for that which will be fixed in the next patch.
>
> Signed-off-by: Alexey Shumkin <[email-masked]>
> Reviewed-by: Nguyễn Thái Ngọc Duy <[email-masked]>
> ---
>  t/t4205-log-pretty-formats.sh | 169 ++++++++++++++++++++++++++++++++++++++++++
>  t/t6006-rev-list-format.sh    |  75 ++++++++++++++++++-
>  2 files changed, 242 insertions(+), 2 deletions(-)
>
> diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
> index 2a6278b..6791e0d 100755
> --- a/t/t4205-log-pretty-formats.sh
> +++ b/t/t4205-log-pretty-formats.sh
> @@ -153,6 +153,19 @@ EOF
>  	test_cmp expected actual
>  '
>  
> +test_expect_success 'left alignment formatting. i18n.logOutputEncoding' '
> +	git -c i18n.logOutputEncoding=iso8859-1 log --pretty="format:%<(40)%s" >actual &&
> +	# complete the incomplete line at the end
> +	echo >>actual &&

Would it change the meaning of the test if you used tformat: instead
of format: (or --format="%<(40)%s")?  If it doesn't, it would make
it unnecessary to append an extra LF and explain why you do so.

> +	qz_to_tab_space <<EOF | iconv -f utf-8 -t iso8859-1 >expected &&

It is minor but many existing uses of iconv in our tests spell these
as UTF-8 and ISO8859-1 in uppercase.  I vaguely recall there was a
portability concern to favor the ones that are used in existing
tests, but probably it no longer matters (I see you added the
lowercase one with de6029a2 mid last year), so I am fine if these
stay lowercase.

> +	git -c i18n.logOutputEncoding=iso8859-1 log --pretty="format:%<(1)%s" >actual &&
> +	# complete the incomplete line at the end
> +	echo >>actual &&

Likewise for all the other "--pretty=format:" followed by an echo.

Thanks.