pickaxe tests: refactor to use test_commit --append --printf

Refactor the existing tests added in e0e7cb8080c (log -G: ignore binary files, 2018-12-14) to use the --append option I added in 3373518cc8b (test-lib functions: add an --append option to test_commit, 2021-01-12) and the --printf option added as part of an in-flight topic of mine this commit depends on. While I'm at it change some of the setup of the test to use a more sensible pattern, e.g. setting up a temporary repo instead of creating an orphan branch. Since the -G and -S options will behave the same way with truncated and removed content also change the "git rm" to emptying data.bin, that's just catering to how test_commit works. The resulting test is shorter. See also f5d79bf7dd6 (tests: refactor a few tests to use "test_commit --append", 2021-01-12) for prior similar refactoring. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Apr 12, 2021 at 19:15 UTC 6d0a40166e87a78ca17fddeee25228ded92a169e
1 file changed +14 -16
t/t4209-log-pickaxe.sh
+14 -16
@@ -107,37 +107,35 @@ test_expect_success 'log -S --no-textconv (missing textconv tool)' '
107 '
108
109 test_expect_success 'setup log -[GS] binary & --text' '
110 - git checkout --orphan GS-binary-and-text &&
111 - git read-tree --empty &&
112 - printf "a\na\0a\n" >data.bin &&
113 - git add data.bin &&
114 - git commit -m "create binary file" data.bin &&
115 - printf "a\na\0a\n" >>data.bin &&
116 - git commit -m "modify binary file" data.bin &&
117 - git rm data.bin &&
118 - git commit -m "delete binary file" data.bin &&
119 - git log >full-log
110 + test_create_repo GS-bin-txt &&
111 + test_commit -C GS-bin-txt --printf A data.bin "a\na\0a\n" &&
112 + test_commit -C GS-bin-txt --append --printf B data.bin "a\na\0a\n" &&
113 + test_commit -C GS-bin-txt C data.bin "" &&
114 + git -C GS-bin-txt log >full-log
115 '
116
117 test_expect_success 'log -G ignores binary files' '
123 - git log -Ga >log &&
118 + git -C GS-bin-txt log -Ga >log &&
119 test_must_be_empty log
120 '
121
122 test_expect_success 'log -G looks into binary files with -a' '
128 - git log -a -Ga >log &&
123 + git -C GS-bin-txt log -a -Ga >log &&
124 test_cmp log full-log
125 '
126
127 test_expect_success 'log -G looks into binary files with textconv filter' '
133 - test_when_finished "rm .gitattributes" &&
134 - echo "* diff=bin" >.gitattributes &&
135 - git -c diff.bin.textconv=cat log -Ga >log &&
128 + test_when_finished "rm GS-bin-txt/.gitattributes" &&
129 + (
130 + cd GS-bin-txt &&
131 + echo "* diff=bin" >.gitattributes &&
132 + git -c diff.bin.textconv=cat log -Ga >../log
133 + ) &&
134 test_cmp log full-log
135 '
136
137 test_expect_success 'log -S looks into binary files' '
140 - git log -Sa >log &&
138 + git -C GS-bin-txt log -Sa >log &&
139 test_cmp log full-log
140 '
141