t1901: adjust nul format output instead of expected value

The test 'keyvalue and nul format', as it description says, test both
`keyvalue` and `nul` format. These formats are similar, differing only in
their field separator (= in the former, LF in the latter) and their
record separator (LF in the former, NUL in the latter). This way, both
formats can be tested using the same expected output and only replacing
the separators in one of the output formats.

However, it is not desirable to have a NUL character in the files
compared by test_cmp because, if that assetion fails, diff will consider
them binary files and won't display the differences properly.

Adjust the output of `git repo structure --format=nul` in t1901, matching the
--format=keyvalue ones. Compare this output against the same value expected
from --format=keyvalue, without using files with NUL characters in
test_cmp.

Signed-off-by: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Lucas Seiki Oshiro
2026-02-25 13:32:15 -03:00
committed by Junio C Hamano
parent b62dab3b6d
commit 2db3d0a226

View File

@@ -145,18 +145,18 @@ test_expect_success SHA1 'lines and nul format' '
test_cmp expect out &&
test_line_count = 0 err &&
# Replace key and value delimiters for nul format.
tr "\n=" "\0\n" <expect >expect_nul &&
git repo structure --format=nul >out 2>err &&
tr "\012\000" "=\012" <out >actual &&
test_cmp expect_nul out &&
test_cmp expect actual &&
test_line_count = 0 err &&
# "-z", as a synonym to "--format=nul", participates in the
# usual "last one wins" rule.
git repo structure --format=table -z >out 2>err &&
tr "\012\000" "=\012" <out >actual &&
test_cmp expect_nul out &&
test_cmp expect actual &&
test_line_count = 0 err
)
'