Re: [PATCH v2 1/2] t4205: compare huge output without diff
On Fri, Sep 25, 2026 at 12:35:38PM -0400, Tamir Duberstein wrote:
Show 10 quoted lines
> The huge-commit test compares output containing a line larger than 2 GiB.
> For two identical files containing 2,147,483,649 "1" bytes followed by
> "0\n", GNU diffutils 3.8 on Linux arm64 gives these measurements:
>
> Command Mean +/- stddev Maximum RSS (KiB)
> diff -u expect actual 5.276 +/- 0.572 s 4199924
> cmp expect actual 0.506 +/- 0.099 s 1264
>
> The test needs only an equality check. Use test_cmp_bin, which runs cmp,
> to compare the output byte for byte with less time and memory.
Yup, this is much more compelling as an argument now :)
Show 11 quoted lines
> diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
> index 4be5c51489..01b97c8888 100755
> --- a/t/t4205-log-pretty-formats.sh
> +++ b/t/t4205-log-pretty-formats.sh
> @@ -1189,7 +1189,7 @@ test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'set up huge commit' '
> test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' '
> git log -1 --format="%B%<(1)%x30" $huge_commit >actual &&
> echo 0 >>expect &&
> - test_cmp expect actual
> + test_cmp_bin expect actual
> '
And the patch looks obviously good to me.
Patrick